套接字和数据流


套接字和数据流操作

 
1套接字
套接字有3种不同的类型:流套接字、数据报套接字和原始套接字。流套接字用来实现面向连接的TCP通信,数据报套接字实现无连接的UDP通信,原始套接字实现Ip数据包通信。3种套接字的套接字均可以使用System.Net.Sockets命名空间中的Socket类来实现。


1、  addressFamily表示网络类型,该参数使用AddressFamily枚举指定Socket使用的寻址方案。


2、  socketType指定Socket的类型,该参数使用SocketType枚举指定使用哪种套接字。


3、  protocolType指定Socket使用的协议,该参数使用ProctocolType枚举指定使用哪种协议。


套接字之间的连接过程可以分为3个步骤:服务器监听、客户端请求、连接确认。


服务器监听是指服务器套接字并不定位具体的客户端套接字,而是出于等待连接的状态,实时监控网络状态。


客户端请求是指客户端的套接字提出连接请求,要连接的目标是服务器的套接字。为此,客户端的套接字必须首选描述他要连接的服务器的套接字,指出服务器套接字的地址和端口号,然后再向服务器套接字提出连接请求。


连接确认是指当服务器套接字监听到客户端套接字的连接请求时,它就响应客户端套接字的请求,把服务器套接字的信息发给客户端,一旦客户端确认了信息,连接即可建立。而服务器套接字继续监听其他客户端套接字的连接请求。


4、  建立连接


5、  服务器和客户端通信的前提是服务器首先在指定的端口监听是否有客户端连接请求,当客户端向服务器发出请求,服务器接受请求后,双方即可建立连接。


( 1)服务器端编程。在服务器程序中,首先应创建一个本地套接字对象。


Socket localSocket = new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);


            //然后将套接字绑定到用于TCP通信的本地IP地址和端口上。Bind方法用于完成绑定工作。


            IPAddress ipAddress = Dns.GetHostAddresses(" ")[0];


            IPEndPoint
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值