网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
06月12日漏签0天
c#吧 关注:188,371贴子:822,602
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 12回复贴,共1页
<<返回c#吧
>0< 加载中...

学习笔记------------TCP编程

  • 只看楼主
  • 收藏

  • 回复
  • 呐呐不是奈奈
  • c#攻城狮
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
TCP是一种面向连接的,可靠的,基于字节流的传输层通信协议。TCP的工作过程可以分为三个阶段:一、连接的建立; 二、传输数据; 三、断开连接
一。建立连接
TCP的连接建立就像打电话一样,需要一个呼叫的过程。当我们用TCP编写的程序,必须先建立TCP连接。TCP协议的连接建立通过三次握手来完成的,三次握手协议指的是在发送数据的准备阶段,服务器端和客户端之间需要进行三次交互:第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;第二次握手:服务器收到syn包,必须确认客户的syn(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
//服务端
在建立连接时接收方可以说是服务器开启一个新线程监听客户端的连接请求,
csharp中可以通过TcpListener的AcceptTcpClient方法接收客户端的链接请求
获得与客户端相对应的的tcpClient对象,然后利用tcpClient对象
的GetStream方法获得NetWorkStream对象(提供用于网络访问的基础数据流)



青铜星玩家
百度移动游戏玩家均可认证(限百度账号),去领取
活动截止:2100-01-01
去徽章馆》
  • 呐呐不是奈奈
  • c#攻城狮
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
//客户端
客户端在连接服务器之前先创建一个TcpClient对象,然后调用该对象的Connect
方法与服务器简历链接(通过ip地址和端口号)


青铜星玩家
百度移动游戏玩家均可认证(限百度账号),去领取
活动截止:2100-01-01
去徽章馆》
2025-06-12 05:05:34
广告
  • 呐呐不是奈奈
  • c#攻城狮
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
二。传输数据
服务端与客户端连接建立后,可以创建一个新的线程用于向客户端发送数据
发送数据
发送数据就是写入流向网络流写入数据


青铜星玩家
百度移动游戏玩家均可认证(限百度账号),去领取
活动截止:2100-01-01
去徽章馆》
  • 呐呐不是奈奈
  • c#攻城狮
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
接收数据
另起一个线程接收数据用BinaryReader的ReadString方法读取网络流的数据


青铜星玩家
百度移动游戏玩家均可认证(限百度账号),去领取
活动截止:2100-01-01
去徽章馆》
  • 呐呐不是奈奈
  • c#攻城狮
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
三。断开连接
断开与客户端的链接,就是TcpClient的close方法,注意要先关闭读写流
private void btnDisconnect()
{
if (reader != null)
{
reader.Close();
}
if (writer != null)
{
writer.Close();
}
if (tcpClient != null)
{
tcpClient.Close();
}
Thread accpet = new Thread(acceptClientConnect);
accpet.Start();
}


青铜星玩家
百度移动游戏玩家均可认证(限百度账号),去领取
活动截止:2100-01-01
去徽章馆》
  • 等一棵树的时间
  • c#爱好者
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
虽然看不懂,但是我想说,写得好


  • 贴吧用户_0UG66CK
  • c#探索者
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
好东西,Mark


  • 你如星河璀璨
  • c#爱好者
    1
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
请问有发送和接收tcp数据包的程序吗


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 12回复贴,共1页
<<返回c#吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示