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地址。

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

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

相关推荐
执风挽^17 分钟前
Python基础编程题2
开发语言·python·算法·visual studio code
Z9fish27 分钟前
sse哈工大C语言编程练习20
c语言·开发语言·算法
Trouvaille ~30 分钟前
TCP Socket编程实战(三):线程池优化与TCP编程最佳实践
linux·运维·服务器·网络·c++·网络协议·tcp/ip
萧鼎1 小时前
Python 包管理的“超音速”革命:全面上手 uv 工具链
开发语言·python·uv
Anastasiozzzz1 小时前
Java Lambda 揭秘:从匿名内部类到底层原理的深度解析
java·开发语言
缺点内向1 小时前
C#: 告别繁琐!轻松移除Word文档中的文本与图片水印
c#·自动化·word·.net
刘琦沛在进步1 小时前
【C / C++】引用和函数重载的介绍
c语言·开发语言·c++
机器视觉的发动机2 小时前
AI算力中心的能耗挑战与未来破局之路
开发语言·人工智能·自动化·视觉检测·机器视觉
HyperAI超神经2 小时前
在线教程|DeepSeek-OCR 2公式/表格解析同步改善,以低视觉token成本实现近4%的性能跃迁
开发语言·人工智能·深度学习·神经网络·机器学习·ocr·创业创新
R_.L2 小时前
【QT】常用控件(按钮类控件、显示类控件、输入类控件、多元素控件、容器类控件、布局管理器)
开发语言·qt