阅读量:0
在C#中实现TCP/IP聊天应用,可以使用Socket类来实现客户端和服务端的通信。以下是一个简单的示例代码:
服务端代码:
using System; using System.Net; using System.Net.Sockets; using System.Text; class Server { static void Main() { TcpListener server = new TcpListener(IPAddress.Any, 8888); server.Start(); Console.WriteLine("Server started"); TcpClient client = server.AcceptTcpClient(); Console.WriteLine("Client connected"); NetworkStream stream = client.GetStream(); byte[] data = new byte[256]; while (true) { int bytes = stream.Read(data, 0, data.Length); string message = Encoding.ASCII.GetString(data, 0, bytes); Console.WriteLine("Client: " + message); Console.Write("Server: "); message = Console.ReadLine(); data = Encoding.ASCII.GetBytes(message); stream.Write(data, 0, data.Length); } client.Close(); server.Stop(); } }
客户端代码:
using System; using System.Net; using System.Net.Sockets; using System.Text; class Client { static void Main() { TcpClient client = new TcpClient("127.0.0.1", 8888); Console.WriteLine("Connected to server"); NetworkStream stream = client.GetStream(); byte[] data = new byte[256]; while (true) { Console.Write("Client: "); string message = Console.ReadLine(); data = Encoding.ASCII.GetBytes(message); stream.Write(data, 0, data.Length); int bytes = stream.Read(data, 0, data.Length); message = Encoding.ASCII.GetString(data, 0, bytes); Console.WriteLine("Server: " + message); } client.Close(); } }
在这个示例中,服务端监听端口8888,并等待客户端连接。客户端连接到服务端后,可以发送和接收消息。服务端和客户端都可以输入消息并发送给另一方。
请注意,这只是一个简单的示例,实际的聊天应用可能需要更多功能和处理逻辑,比如处理多个客户端连接、消息格式处理、错误处理等。