注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

午夜阳光

 
 
 

日志

 
 

C#的TCP通信  

2012-10-23 14:59:37|  分类: C# |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
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;

 

地址:http://hi.baidu.com/ny_dsc/item/1063473077d8e1f0a88428a8

  评论这张
 
阅读(718)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017