에러에 관한 질문입니다.
1205
投稿した質問数 1
************** 예외 텍스트 **************
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
}
}
}
回答 1
-1
원인은 다양합니다.
서버를 키지 않았다던지, 정말로 IP나 Port가 잘못됐다던지,
방화벽 때문에 접속이 안된다던지,
구글링 또는 ChatGPT 한테 물어봐서 이런류의 에러도 해결해보는 능력을 가지시는것도 좋을거 같아요.
수박게임 자료 받았는데 plante05, 06이 없습니다.
0
15
1
14강 녹음이 안되어 있습니다
0
38
1
섹션6 / '6.7 이해하면 인생이 바뀌는 TCP 송/수신 구조' 강의 문의
0
49
1
유니티webgl 과 안티그래비티를 협업시키고 싶습니다.
0
40
2
소스를 받을 수 있는 링크가 있을까요?
0
68
2
프로덕션 부분 사용 불가
0
70
2
접근지정자
0
71
2
섹터2 5강 Authconfig 문의
0
64
1
in-app purchasing 버튼의 install 버튼이 비활성화되어있을때 어떻게 해결해야하나요 ?
0
52
2
유니티 제외 설치한 프로그램들 및 파일 삭제 방법
0
58
1
깃허브에서 콤피유아이 매니저 설치하는게 안됩니다.
0
82
2
5강, 오류 수정과 관련해서
0
66
2
컴퓨터를 껐다가 클로드 코드 다시 키는 방법 알려주세요.
0
65
1
Pivot을 마우스로 클릭하고 드래그해도 움직이 않아서 혹시 아시는 부분이 있나 해서 문의 남깁니다.
0
55
1
프로젝트가 더 이상 지원되지 않는 .NET 6.0을 대상으로 할 때
0
349
2
Tap강의에서 6분9초에 ReceiveAsync에 매개변수 e가 필요하다는 에러
0
127
1
EAP강의에서 어떻게 여러개 클라이언트를 띄우는지 궁금합니다
0
142
1
22:38 메세지 박스가 안뜨는 문제
1
421
1
에러 관련하여 질문 있습니다.
0
315
1
크롬으로 서버에 접속은 되지만 response되지 않는 이유가 궁금합니다
0
1807
1
예제소스 제공 원합니다.
0
387
1
5:34 질문 있습니다.
0
501
1
방만들기, 방 목록 새로고침 강의 중 크로스스레드 문제
0
604
1
9:45 질문 있습니다.
0
593
1

