这篇文章将为大家详细讲解有关C# winfroms使用socket客户端服务端的示例代码,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
C# WinForms 使用 Socket 实现客户端-服务器通信
前言
Socket 是一种网络通信编程接口,允许应用程序通过网络连接进行数据交换。在 C# WinForms 中,可以使用 System.Net.Sockets 命名空间来实现 Socket 客户端和服务器。本文将介绍如何在 C# WinForms 中使用 Socket 实现客户端-服务器通信。
客户端
1. 创建 Socket 对象
using System.Net;
using System.Net.Sockets;
namespace Client
{
public partial class Form1 : Form
{
private Socket _socket;
public Form1()
{
InitializeComponent();
// 创建 Socket 对象
_socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
}
}
}
2. 连接到服务器
// 获取服务器 IP 地址和端口号
IPAddress ipAddress = IPAddress.Parse("127.0.0.1");
int port = 8080;
// 创建端点信息
IPEndPoint remoteEP = new IPEndPoint(ipAddress, port);
// 连接到服务器
_socket.Connect(remoteEP);
3. 发送数据
// 发送数据到服务器
byte[] data = new byte[] { 1, 2, 3, 4, 5 };
_socket.Send(data);
4. 接收数据
// 接收来自服务器的数据
byte[] buffer = new byte[1024];
int receivedBytes = _socket.Receive(buffer);
服务器
1. 创建 Socket 对象
using System.Net;
using System.Net.Sockets;
namespace Server
{
public partial class Form1 : Form
{
private Socket _listener;
public Form1()
{
InitializeComponent();
// 创建 Socket 对象
_listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
}
}
}
2. 绑定到端口
// 获取服务器 IP 地址和端口号
IPAddress ipAddress = IPAddress.Any;
int port = 8080;
// 创建端点信息
IPEndPoint localEP = new IPEndPoint(ipAddress, port);
// 绑定到端口
_listener.Bind(localEP);
3. 监听连接
// 开始监听连接
_listener.Listen(10);
// 等待客户端连接
Socket clientSocket = _listener.Accept();
4. 发送数据
// 发送数据到客户端
byte[] data = new byte[] { 1, 2, 3, 4, 5 };
clientSocket.Send(data);
5. 接收数据
// 接收来自客户端的数据
byte[] buffer = new byte[1024];
int receivedBytes = clientSocket.Receive(buffer);
示例代码
以下是客户端和服务器的完整示例代码:
客户端:
using System;
using System.Net;
using System.Net.Sockets;
using System.Windows.Forms;
namespace Client
{
public partial class Form1 : Form
{
private Socket _socket;
public Form1()
{
InitializeComponent();
// 创建 Socket 对象
_socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
// 连接到服务器
IPAddress ipAddress = IPAddress.Parse("127.0.0.1");
int port = 8080;
IPEndPoint remoteEP = new IPEndPoint(ipAddress, port);
_socket.Connect(remoteEP);
// 发送数据到服务器
byte[] data = new byte[] { 1, 2, 3, 4, 5 };
_socket.Send(data);
// 接收来自服务器的数据
byte[] buffer = new byte[1024];
int receivedBytes = _socket.Receive(buffer);
}
}
}
服务器:
using System;
using System.Net;
using System.Net.Sockets;
using System.Windows.Forms;
namespace Server
{
public partial class Form1 : Form
{
private Socket _listener;
public Form1()
{
InitializeComponent();
// 创建 Socket 对象
_listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
// 绑定到端口
IPAddress ipAddress = IPAddress.Any;
int port = 8080;
IPEndPoint localEP = new IPEndPoint(ipAddress, port);
_listener.Bind(localEP);
// 开始监听连接
_listener.Listen(10);
// 等待客户端连接
Socket clientSocket = _listener.Accept();
// 发送数据到客户端
byte[] data = new byte[] { 1, 2, 3, 4, 5 };
clientSocket.Send(data);
// 接收来自客户端的数据
byte[] buffer = new byte[1024];
int receivedBytes = clientSocket.Receive(buffer);
}
}
}
以上就是C# winfroms使用socket客户端服务端的示例代码的详细内容,更多请关注编程学习网其它相关文章!