天天看点

C#Socket连接示例服务端客户端接收

服务端

IPAddress[] addrlist = Dns.GetHostAddresses(mURL);//解析域名得到IP地址
IPAddress v4ip = null;
foreach (IPAddress ip in addrlist)
{
	if (ip.AddressFamily == AddressFamily.InterNetwork)
	{
		v4ip = ip;
		break;
	}
}
TcpListener tcpListener = new TcpListener(v4ip, mPORT);
tcpListener.Start();
while (true)
{
	Socket socket = tcpListener.AcceptSocket();
	//如果是多线程的应用,需要在一个异步过程中使用这个socket与客户端通信,以便接收下一个连接请求。
}
           

客户端

Socket mSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
mSocket.Connect(mURL, mPort);
string msg = "hello";
mSocket.Send(Encoding.UTF8.GetBytes(msg.ToString()));
           

接收

byte[] buff=new byte[1024];
int count=mSocket.Receive(buff);
string receiveStr = Encoding.UTF8.GetString(buff, 0, count);