string host = Dns.GetHostName();
IPHostEntry ipHost = Dns.GetHostEntry(host);
IPAddress ipAddr = ipHost.AddressList[0]; // 이름에 대한 아이피가 여러개 일 수 있음
IPEndPoint endPoint = new IPEndPoint(ipAddr, 7777);
Socket listenSocket = new Socket(endPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
listenSocket.Bind(endPoint);
listenSocket.Listen(10); // backlog : 대기 인원 수
clientSocket.Shutdown(SocketShutdown.Both);
clientSocket.Close();
블로킹 함수들
Socket clientSocket = listenSocket.Accept();
socket.Connect(endPoint);
byte[] sendBuff = Encoding.UTF8.GetBytes("Hello Server");
clientSocket.Send(sendBuff);
byte[] recvBuff = new byte[1024];
int recvBytes = clientSocket.Receive(recvBuff);
string recvData = Encoding.UTF8.GetString(recvBuff, 0, recvBytes);