에러에 관한 질문입니다.
1200
작성한 질문수 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 한테 물어봐서 이런류의 에러도 해결해보는 능력을 가지시는것도 좋을거 같아요.
소스를 받을 수 있는 링크가 있을까요?
0
48
2
프로덕션 부분 사용 불가
0
60
2
접근지정자
0
56
2
섹터2 5강 Authconfig 문의
0
40
1
in-app purchasing 버튼의 install 버튼이 비활성화되어있을때 어떻게 해결해야하나요 ?
0
47
2
유니티 제외 설치한 프로그램들 및 파일 삭제 방법
0
46
1
깃허브에서 콤피유아이 매니저 설치하는게 안됩니다.
0
63
2
5강, 오류 수정과 관련해서
0
62
2
컴퓨터를 껐다가 클로드 코드 다시 키는 방법 알려주세요.
0
52
1
Pivot을 마우스로 클릭하고 드래그해도 움직이 않아서 혹시 아시는 부분이 있나 해서 문의 남깁니다.
0
38
1
클로드에 텍스트 없이 이미지만 보낼경우 에러가 생깁니다
0
65
2
클로드 코드 API 요금관련 질문
0
82
1
카메라가 많아지면 렌더링 비용이 커지나요?
0
38
1
3:56에 폰트 불러온 과정이 궁금합니다 ㅠㅠ
0
64
3
프로젝트가 더 이상 지원되지 않는 .NET 6.0을 대상으로 할 때
0
346
2
Tap강의에서 6분9초에 ReceiveAsync에 매개변수 e가 필요하다는 에러
0
121
1
EAP강의에서 어떻게 여러개 클라이언트를 띄우는지 궁금합니다
0
140
1
22:38 메세지 박스가 안뜨는 문제
1
412
1
에러 관련하여 질문 있습니다.
0
311
1
크롬으로 서버에 접속은 되지만 response되지 않는 이유가 궁금합니다
0
1800
1
예제소스 제공 원합니다.
0
384
1
5:34 질문 있습니다.
0
494
1
방만들기, 방 목록 새로고침 강의 중 크로스스레드 문제
0
597
1
9:45 질문 있습니다.
0
587
1





