에러에 관한 질문입니다.
1191
1 câu hỏi đã được viết
************** 예외 텍스트 **************
System.Net.Sockets.SocketException (10061): 대상 컴퓨터에서 연결을 거부했으므로 연결하지 못했습니다.
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource.GetResult(Int16 token)
at System.Threading.Tasks.ValueTask.ValueTaskSourceAsTask.<>c.<.cctor>b__4_0(Object state)
--- End of stack trace from previous location ---
at Client.Singleton.ConnectAsync() in P:\Chat\Client\Singleton.cs:line 36
at Client.LoginForm.btn_login_Click(Object sender, EventArgs e) in P:\Chat\Client\LoginForm.cs:line 20
at System.Threading.Tasks.Task.<>c.<ThrowAsync>b__128_0(Object state)
16:45초 로그인 할 때 이렇게 뜨네요 ㅠㅠ
해당 라인 가보면
LoginForm.cs
await Singleton.Instance.ConnectAsync();
Singleton.cs
await Socket.ConnectAsync(endPoint);
입니다. 아이피와 포트도 제대로 입력해주었습니다.
강사님이 올려주신 파일 통째로 받아서 해봤는데도 동일한 오류가 발생합니다.
어떻게 해결해야하나요?
코드 첨부합니다.
LoginForm.cs
using Core;
namespace Client;
public partial class LoginForm : Form
{
public LoginForm()
{
InitializeComponent();
}
private async Task btn_login_Click(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(tbx_id.Text) || string.IsNullOrEmpty(tbx_nickname.Text))
{
MessageBox.Show("입력하세요");
return;
}
await Singleton.Instance.ConnectAsync();
LoginRequestPacket packet = new LoginRequestPacket(tbx_id.Text, tbx_nickname.Text);
await Singleton.Instance.Socket.SendAsync(packet.Serialize(), System.Net.Sockets.SocketFlags.None);
Singleton.Instance.Id = tbx_id.Text;
Singleton.Instance.Nickname = tbx_nickname.Text;
RoomList roomList = new RoomList();
roomList.ShowDialog();
}
}
Singleton.cs
using System.Net;
using System.Net.Sockets;
namespace Client;
/// <summary>
/// 언제 어디서나 접근할 수 있는 객체.
/// 이 객체는 반드시 1개만 존재해야 한다.
/// </summary>
internal class Singleton
{
public string Id { get; set; } = null!;
public string Nickname { get; set; } = null!;
public Socket Socket { get; } = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
private static Singleton? instance;
public static Singleton Instance
{
get
{
if (instance == null)
instance = new Singleton();
return instance;
}
}
private Singleton()
{
}
public async Task ConnectAsync()
{
IPEndPoint endPoint = new IPEndPoint(IPAddress.Parse("192.168.219.106"), 20001);
await Socket.ConnectAsync(endPoint);
ThreadPool.QueueUserWorkItem(ReceiveAsync, Socket);
}
private async void ReceiveAsync(object? sender)
{
Socket socket = (Socket)sender!;
byte[] headerBuffer = new byte[2];
while (true)
{
#region 헤더버퍼 가져옮
int n1 = await socket.ReceiveAsync(headerBuffer, SocketFlags.None);
if (n1 < 1)
{
Console.WriteLine("client disconnect");
socket.Dispose();
return;
}
else if (n1 == 1)
{
await socket.ReceiveAsync(new ArraySegment<byte>(headerBuffer, 1, 1), SocketFlags.None);
}
#endregion
#region 데이터버퍼 가져옮
short dataSize = IPAddress.NetworkToHostOrder(BitConverter.ToInt16(headerBuffer));
byte[] dataBuffer = new byte[dataSize];
int totalRecv = 0;
while (totalRecv < dataSize)
{
int n2 = await socket.ReceiveAsync(new ArraySegment<byte>(dataBuffer, totalRecv, dataSize - totalRecv), SocketFlags.None);
totalRecv += n2;
}
#endregion
}
}
}
Câu trả lời 1
-1
원인은 다양합니다.
서버를 키지 않았다던지, 정말로 IP나 Port가 잘못됐다던지,
방화벽 때문에 접속이 안된다던지,
구글링 또는 ChatGPT 한테 물어봐서 이런류의 에러도 해결해보는 능력을 가지시는것도 좋을거 같아요.
19강 15_2) 템블릿에 List가 없는경우는 어떻게 해야되나요?
0
15
1
Spider와 Monster 구현 방식을 구분한 이유
1
16
1
Sprute Sheet에 대해서.
0
13
1
15강 12-3) 값 제출후 mysql 저장이 안됩니다.
0
16
2
혹시 언리얼 CEF기반 UI에서 한글 입력 오류 해결하신분??
0
30
2
ResourceManager 클래스 관련 질문
1
35
2
크레딧 충전
0
42
1
수업자료 관련
0
28
1
첨부된 수업자료와 강의 내용이 다릅니다.
0
51
2
몬스터 HP 게이지바 이동
0
23
1
비주얼 스튜디오 2026
0
43
2
C#에서의 RAII
0
67
3
public string Title { get; set; } 에서 WFO1000 오류가납니다.
0
45
1
44번 강의 "AWS VPC와 Gateway endpoint 구성"에서 질문 드립니다.
0
39
2
프로젝트가 더 이상 지원되지 않는 .NET 6.0을 대상으로 할 때
0
328
2
Tap강의에서 6분9초에 ReceiveAsync에 매개변수 e가 필요하다는 에러
0
116
1
EAP강의에서 어떻게 여러개 클라이언트를 띄우는지 궁금합니다
0
133
1
22:38 메세지 박스가 안뜨는 문제
1
396
1
에러 관련하여 질문 있습니다.
0
304
1
크롬으로 서버에 접속은 되지만 response되지 않는 이유가 궁금합니다
0
1785
1
예제소스 제공 원합니다.
0
378
1
5:34 질문 있습니다.
0
486
1
방만들기, 방 목록 새로고침 강의 중 크로스스레드 문제
0
595
1
9:45 질문 있습니다.
0
582
1

