(연관된 글이 1개 있습니다.)
안녕하세요.
소켓은 별도 스레드에서 구동 됩니다.
Socket socTmp = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socTmp.Connect(new IPEndPoint("아이피", 포트));
while (true)
{
byte[] buffer = new byte[10];
int offset = 0;
while (offset < 10)
{
offset += socTmp.Receive(buffer, offset, 10 - offset, SocketFlags.None); //에러나는 부분
}
}
위 코드는 별도 스레드에서 구동되는 코드로
소켓을 아래와 같이 종료 시키면
위 코드의 receive에서 에러가 나는데요.
에러가 나는걸 부드럽데 처리할 방법 문의 드립니다.
try로 묶으면 속도가 저하되는거 같구요.
receive를 먼저 별도로 중지 시킬 수 있지 않을가 하는 생각도 들구요.
아니면 별다른 방법이 없는걸 가요?
socTmp.Shutdown(SocketShutdown.Both);
socTmp.Close();
socTmp.Dispose();
[연관 글]
[최초 등록일: ]
[최종 수정일: 7/22/2022]