Socket的两种类型

   日期:2024-12-29     作者:19hhx       评论:0    移动:http://oml01z.riyuangf.com/mobile/news/13447.html
核心提示:SOCKET有两种类型:流式Socket(STREAM):是一种面向连接的Socket,针对于面向连接的TCP服务应用,安全,但是效率低;数据报式S
SOCKET
有两种类型:
 流式Socket(STREAM):
是一种面向连接的Socket,针对于面向连接的TCP服务应用,安全,但是效率低;
 数据报式Socket(DATAGRAM):
是一种无连接的Socket,对应于无连接的UDP服务应用.不安全(丢失,顺序混乱,在接收端要分析重排及要求重发),但效率高.
 
 UDP 数据包套接字的数据发送方式:
    将数据折成很多份,然后都发到对方去,但是对方接受到的数据的顺序不一样是发送的顺序,发送出去的数据不一定能顺利到达(丢包),接收方验证所有包齐全后,要重新按照包的组合顺序组建数据
  TCP流式套接字的数据发送方式:
     在发送数据前,会先经历TCP协议的三次握手协议来建立连接,然后通过连接有次序的将数据发送给接收方,接收方拿到数据后发告诉发送方,数据接收完毕.如果发送超时,那么发送方会再次发送数据.但是.因为连接一直在发送期间保持,所以比较占用资源
 
Socket一般应用模式 - 服务器端和客户端
Socket的通讯过程:
  服务器端:
     1.申请一个socket
 //创建一个监听客户端请求的套接字
 Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
     2.绑定到一个IP地址和一个端口上
 //创建IP对象
 IPAddress address = IPAddress.Parse(txtIP.text);
 //创建包含IP和Port的网络终结点对象
 IPEndPoint endPoint = new IPEndPoint(address,int.Parse(txtPort.Text.Trim().toString());
 //为监听套接字绑定端口
 server.Bind(endPoint);
     3.开启侦听,等待接授连接
 //开始监听,并设置监听队列的最大长度 10
 server.Listen(10);
 //接受客户端连接请求,并创建一个通信套接字,会阻断线程
 Socket sokMsg = server.Accept();
 
  客户端:
     1.申请一个socket
 Socket client = new Socket(AddressFamily.InterNetwork, SocketType.Strem, ProtocolType.Tcp);
     2.连接服务器(指明IP地址和端口号)
 clinet.Connect(endpoint);
 
特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。

举报收藏 0打赏 0评论 0
 
更多>同类最新资讯
0相关评论

相关文章
最新文章
推荐文章
推荐图文
最新资讯
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号