블로킹 소켓 프로그래밍

ㅋㅋ·2022년 10월 29일

csharp게임서버

목록 보기
5/16
  • DNS 사용
string host = Dns.GetHostName();
IPHostEntry ipHost = Dns.GetHostEntry(host);
IPAddress ipAddr = ipHost.AddressList[0]; // 이름에 대한 아이피가 여러개 일 수 있음
IPEndPoint endPoint = new IPEndPoint(ipAddr, 7777);
  • bind, listen
Socket listenSocket = new Socket(endPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
listenSocket.Bind(endPoint);
listenSocket.Listen(10); // backlog : 대기 인원 수
  • close
clientSocket.Shutdown(SocketShutdown.Both);
clientSocket.Close();

블로킹 함수들

  • accept
Socket clientSocket = listenSocket.Accept();
  • connect
socket.Connect(endPoint);
  • send
byte[] sendBuff = Encoding.UTF8.GetBytes("Hello Server");
clientSocket.Send(sendBuff);
  • receive
byte[] recvBuff = new byte[1024];
int recvBytes = clientSocket.Receive(recvBuff);
string recvData = Encoding.UTF8.GetString(recvBuff, 0, recvBytes);

0개의 댓글