Linux 拨号vps windows公众号手机端

c#socket通信怎么实现

lewis 6年前 (2019-02-11) 阅读数 18 #程序编程
文章标签 c#c#socket

在C#中实现Socket通信有多种方式,其中常见的方式是使用System.Net.Sockets命名空间提供的类。

下面是一个简单的示例,演示了如何使用Socket进行客户端和服务器之间的通信:

1. 客户端代码:

csharp

using System;

using System.Net;

using System.Net.Sockets;

using System.Text;

public class Client {

public static void Main() {

// 创建一个Socket对象

Socket clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

// 连接到服务器

IPAddress serverIP = IPAddress.Parse("服务器IP地址");

int serverPort = 12345; // 服务器端口号

IPEndPoint serverEndPoint = new IPEndPoint(serverIP, serverPort);

clientSocket.Connect(serverEndPoint);

// 发送数据到服务器

string message = "Hello, server!";

byte[] data = Encoding.ASCII.GetBytes(message);

clientSocket.Send(data);

// 接收服务器的响应

byte[] buffer = new byte[1024];

int bytesRead = clientSocket.Receive(buffer);

string response = Encoding.ASCII.GetString(buffer, 0, bytesRead);

Console.WriteLine("服务器响应:" + response);

// 关闭Socket连接

clientSocket.Shutdown(SocketShutdown.Both);

clientSocket.Close();

}

}

2. 服务器端代码:

csharp

using System;

using System.Net;

using System.Net.Sockets;

using System.Text;

public class Server {

public static void Main() {

// 创建一个Socket对象

Socket serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

// 绑定IP地址和端口号

IPAddress serverIP = IPAddress.Parse("服务器IP地址");

int serverPort = 12345; // 服务器端口号

IPEndPoint serverEndPoint = new IPEndPoint(serverIP, serverPort);

serverSocket.Bind(serverEndPoint);

// 开始监听客户端连接

serverSocket.Listen(10);

Console.WriteLine("等待客户端连接...");

// 接受客户端连接请求

Socket clientSocket = serverSocket.Accept();

// 接收客户端发送的数据

byte[] buffer = new byte[1024];

int bytesRead = clientSocket.Receive(buffer);

string request = Encoding.ASCII.GetString(buffer, 0, bytesRead);

Console.WriteLine("客户端请求:" + request);

// 发送响应到客户端

string response = "Hello, client!";

byte[] data = Encoding.ASCII.GetBytes(response);

clientSocket.Send(data);

// 关闭Socket连接

clientSocket.Shutdown(SocketShutdown.Both);

clientSocket.Close();

serverSocket.Close();

}

}

在使用上述示例代码时,需要将服务器IP地址替换为实际的服务器IP地址。客户端和服务器端通过指定的IP地址和端口

号进行通信。

以上是一个简单的示例,你可以根据需求扩展和修改代码,以满足实际的应用场景。

版权声明

本文仅代表作者观点,不代表米安网络立场。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门