C#中编写TCP客户端和服务端

在C#中编写TCP客户端和服务端涉及到System.Net.Sockets命名空间中的TcpListener和TcpClient类。下面分别给出一个简单的TCP服务端和客户端的示例代码。

using System;

using System.Net;

using System.Net.Sockets;

using System.Text;

public class TcpServer

{

public static void StartServer()

{

// 监听的IP和端口

IPAddress ipAddress = IPAddress.Parse("127.0.0.1");

int port = 8888;

// 创建TcpListener实例

TcpListener listener = new TcpListener(ipAddress, port);

Console.WriteLine($"服务器启动,等待连接: {ipAddress}:{port}");

// 开始监听

listener.Start();

try

{

while (true)

{

// 等待客户端连接

TcpClient client = listener.AcceptTcpClient();

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

// 获取网络流,用于读取客户端发送的数据

NetworkStream stream = client.GetStream();

// 读取数据

byte[] buffer = new byte[1024];

int read = stream.Read(buffer, 0, buffer.Length);

string dataReceived = Encoding.ASCII.GetString(buffer, 0, read);

Console.WriteLine($"接收到的消息: {dataReceived}");

// 发送响应

string response = "你好,客户端!";

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

stream.Write(sendData, 0, sendData.Length);

// 关闭客户端连接

client.Close();

}

}

catch (Exception ex)

{

Console.WriteLine(ex.ToString());

}

finally

{

// 停止监听

listener.Stop();

}

}

public static void Main(string[] args)

{

StartServer();

}

}

这些示例假设在同一台机器上运行服务端和客户端,因此使用了localhost(即127.0.0.1)作为IP地址。在实际应用中,服务端IP应为实际服务器的IP地址。

在实际部署时,确保防火墙配置允许相应的端口通信。

这些代码仅提供了基本功能,生产环境中可能需要更复杂的错误处理和性能优化。

相关推荐
时空系21 分钟前
第10篇:继承扩展——面向对象编程进阶 python中文编程
开发语言·python·ai编程
CHANG_THE_WORLD1 小时前
python 批量终止进程exe
开发语言·python
古城小栈1 小时前
从 cargo-whero 库中,找到提升 rust 的契机
开发语言·后端·rust
Gary Studio3 小时前
安卓HAL C++基础-智能指针
开发语言·c++
啧不应该啊3 小时前
Day1 Python 与 C 的类型区别
c语言·开发语言
zjun10013 小时前
TCP专栏-1.TCP协议概念说明
网络·网络协议·tcp/ip
cen__y3 小时前
Linux07(信号01)
linux·运维·服务器·c语言·开发语言
xingpanvip4 小时前
星盘接口开发文档:星相日历接口指南
android·开发语言·前端·css·php·lua
guygg884 小时前
基于遗传算法的双层规划模型求解MATLAB实现
开发语言·matlab
凯瑟琳.奥古斯特4 小时前
SQLAlchemy核心功能解析
开发语言·python·flask