C#的TCP通信

本文介绍了一个简单的TCP通信案例,包括服务器端与客户端的代码实现。通过该案例,读者可以了解到如何建立TCP连接、进行数据收发及处理流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

.NET的UDP通信我死活玩不转,听说UDP库类有bug,所以我就不瞎折腾了,精力转向TCP。
TCP是连接模型,如下:

服务器连接                     服务器断开
    ↓                                   ↑
服务器接收→服务器处理→服务器发送
    ↑                                   ↓
客户端发送←客户端处理←客户端接收
    ↑                                   ↓
客户端连接                     客户端断开

服务器代码如下:
//ServerListen
TcpListener tcplistener=new TcpListener(int.Parse(txtPort.Text));
tcplistener.Start();
byte[] btServerReceive=new byte[256];
string strServerReceive=string.Empty;
//Loop for Listen
while(true)
{
 TcpClient tcp
=tcplistener.AcceptTcpClient();
 NetworkStream ns
=tcp.GetStream();
 
int intReceiveLength= ns.Read(btServerReceive,0,btServerReceive.Length);
 strServerReceive
=UnicodeEncoding.Unicode.GetString(btServerReceive,0,intReceiveLength);
 txtServerResult.AppendText(
"ServerReceive:" + strServerReceive+" ");
 ns.Write(btServerReceive,
0,btServerReceive.Length);
 txtServerResult.AppendText(
"ServerSend:" + strServerReceive+" ");
 tcp.Close();
}

客户端代码如下:
//ClientSend
TcpClient tcp=new TcpClient(txtHost.Text,int.Parse(txtPort.Text));
byte[] btClientSend=UnicodeEncoding.Unicode.GetBytes(txtClientResult.Text);
NetworkStream ns
=tcp.GetStream();
ns.Write(btClientSend,
0,btClientSend.Length);
//ClientReceive
byte[] btClientReceive=new byte[256];
int intReceiveLength= ns.Read(btClientReceive,0,btClientReceive.Length);
string strClientReceive=UnicodeEncoding.Unicode.GetString(btClientReceive,0,intReceiveLength);
tcp.Close();
txtClientResult.Text
=strClientReceive;
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值