在C#中進行Socket通信可以使用System.Net.Sockets.Socket
類來實現(xiàn)。
下面是一個簡單的示例,演示如何使用C# Socket進行客戶端和服務(wù)器之間的通信:
服務(wù)器端:
csharp
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
public class Server
{
public static void Main()
{
// 創(chuàng)建一個IP地址和端口號
IPAddress ipAddress = IPAddress.Parse("127.0.0.1");
int port = 8888;
// 創(chuàng)建一個TCP監(jiān)聽器
TcpListener listener = new TcpListener(ipAddress, port);
listener.Start();
Console.WriteLine("服務(wù)器已啟動...");
// 接受客戶端連接
TcpClient client = listener.AcceptTcpClient();
Console.WriteLine("客戶端已連接...");
// 獲取網(wǎng)絡(luò)流
NetworkStream networkStream = client.GetStream();
// 接收消息
byte[] buffer = new byte[1024];
int bytesRead = networkStream.Read(buffer, 0, buffer.Length);
string message = Encoding.ASCII.GetString(buffer, 0, bytesRead);
Console.WriteLine("接收到的消息: " + message);
// 發(fā)送響應(yīng)消息
string responseMessage = "Hello from the server!";
byte[] responseData = Encoding.ASCII.GetBytes(responseMessage);
networkStream.Write(responseData, 0, responseData.Length);
Console.WriteLine("響應(yīng)消息已發(fā)送.");
// 關(guān)閉連接
client.Close();
listener.Stop();
}
}
客戶端:
csharp
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
public class Client
{
public static void Main()
{
// 創(chuàng)建一個IP地址和端口號
IPAddress ipAddress = IPAddress.Parse("127.0.0.1");
int port = 8888;
// 創(chuàng)建一個TcpClient實例并連接服務(wù)器
TcpClient client = new TcpClient();
client.Connect(ipAddress, port);
// 獲取網(wǎng)絡(luò)流
NetworkStream networkStream = client.GetStream();
// 發(fā)送消息
string message = "Hello from the client!";
byte[] requestData = Encoding.ASCII.GetBytes(message);
networkStream.Write(requestData, 0, requestData.Length);
Console.WriteLine("消息已發(fā)送.");
// 接收響應(yīng)消息
byte[] buffer = new byte[1024];
int bytesRead = networkStream.Read(buffer, 0, buffer.Length);
string responseMessage = Encoding.ASCII.GetString(buffer, 0, bytesRead);
Console.WriteLine("接收到的響應(yīng)消息: " + responseMessage);
// 關(guān)閉連接
client.Close();
}
}
在上述示例中,服務(wù)器端通過創(chuàng)建TCP監(jiān)聽器并等待客戶端連接。一旦客戶端連接成功,服務(wù)器端就會接收到客戶端發(fā)送
的消息,并返回一個響應(yīng)消息??蛻舳送ㄟ^創(chuàng)建TcpClient實例并連接到服務(wù)器,然后發(fā)送消息并接收響應(yīng)消息。
請注意,這只是一個簡單的示例,可能需要根據(jù)你的具體需求進行適當(dāng)修改。此外,還需要處理異常和錯誤情況,并進行
適當(dāng)?shù)腻e誤處理和資源釋放。