昨天有事,没有发 今天贴上
服务端代码:
staticvoid Main(string[] args)
{
// (1)创建侦听用的Socket
Socket listenSocket = newSocket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
// (2)绑定到服务器的特定端口
IPAddress serverAddress =GetIPV4Address();
int port = 10001;
EndPoint serverEP = newIPEndPoint(serverAddress, port);
listenSocket.Bind(serverEP);
// (3)启动侦听
listenSocket.Listen(5);
Console.WriteLine("服务器正在侦听客户端的连接请求......");
// (4)接受客户端的连接请求
Socket clientSocket =listenSocket.Accept();
Console.WriteLine("接收到一个客户端的连接.");
// (5)接收从客户端发送过来的数据
byte[] buffer = new byte[80];
int nReceive =clientSocket.Receive(buffer);
string message =Encoding.UTF8.GetString(buffer, 0, nReceive);
Console.WriteLine("接收到数据:" + message);
// (6)向客户端发一个回送数据
message = "TCP message fromserver";
byte[] ret =Encoding.UTF8.GetBytes(message);
clientSocket.Send(ret);
// (7)关闭Socket
clientSocket.Close();
listenSocket.Close();
}
客户端代码
staticvoid Main(string[] args)
{
// (1)创建一个Socket
Socket clientSocket = newSocket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
// (2)连接到服务器(的侦听Socket)
IPAddress serverAddress =GetIPV4Address(); // 也可使用IPAddress.Parse;
int port = 10001;
EndPoint serverEP = newIPEndPoint(serverAddress, port);
clientSocket.Connect(serverEP);
Console.WriteLine("连接到服务器成功");
// (3)向服务器发送数据
string message = "TCP messagefrom client.";
byte[] buffer =Encoding.UTF8.GetBytes(message);
clientSocket.Send(buffer);
// (4)接收从服务器返回的数据
byte[] buf = new byte[80];
int nReceive =clientSocket.Receive(buf);
message =Encoding.UTF8.GetString(buf, 0, nReceive);
Console.WriteLine("接收到数据:" + message);
// (5)关闭Socket
clientSocket.Close();
}