基于TCP协议的程序设计.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于TCP协议的程序设计

第3章 基于TCP协议的程序设计 使用面向连接的套接字: ????????借助于从Socket实例对方法的引用,用户可以用显示的套接字执行网络操作。 ?1、服务器端程序设计步骤: (1)?建立服务器套接字 Socket s1= new?Socket(AddressFamily.InterNetWork,? SocketType.Stream, ProtocolType.Tcp) (2)套接字绑定Bind( )到系统中的一个本地网络地址。 s1.Bind(IPEndPoint? address) ?address参数必须指向一个有效的IPEndPoint实例,该实例包含一个本地IP地址和一个端口号。 IPEndPoint(IPAddress adress , int port); 第3章 基于TCP协议的程序设计 (3)用Listen()方法: 等待客户机发出的连接尝试: s1.Listen(int backlog) backlog参数指出系统等待用户程序服务排队的连接数。超过等待连接数的任何客户的尝试都会被拒绝。 用户应当记住,在这里指定一个大的编号,可能会造成用户的服务器程序执行的结果,每个待解决的连接尝试都暂存在TCP缓冲器区中缓存器空间,这意味着只有较少的缓冲器空间用于发送和接收包。 至此,服务器已经做好了接收任何引进连接的准备。 (4)用Accept()方法接收连接请求 该方法返回一个新的套接字描述符,这个连接所有的通信调用都可以使用该描述符。 第3章 基于TCP协议的程序设计 服务器端代码序列: IPAddress ip = IPAddress.Parse(“”); IPEndPoint ipe = new IPEndPoint(ip, 8800); Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);  s.Bind(ipe);  s.Listen(0);  Socket temp = s.Accept(); bytes = temp.Receive(recvBytes, recvBytes.Length, 0); recvStr += Encoding.ASCII.GetString(recvBytes,0,bytes); string sendStr = Ok!Sucess!; byte[] bs = Encoding.ASCII.GetBytes(sendStr); temp.Send(bs, bs.Length, 0); 第3章 基于TCP协议的程序设计 2、客户机程序设计步骤: (1)创建Socket对象 (2)用Connect连接一个IPEndPoint地址。该地址为远程服务器设备 客户机一旦与服务器建立连接,就可以使用Socket类的Send和Receive方法。当通信完成之后,必须把Socket实例关闭 。 Socket socket?=?new?Socket(??AddressFamily.InterNetwork,? SocketType.Stream,?ProtocolType.Tcp); socket.Connect(IPAddress.Parse(3),?2000); // 或 IPEndPoint iep= new IPEndPoint(IPAdress.Parse(“3”),2000); // socket.connect(iep); if?(socket.Connected) { ?byte[]?sends?=?Encoding.Unicode.GetBytes(this.textBox1.Text); ?socket.Send(sends); } 第3章 基于TCP协议的程序设计 -------Send()和Receive()方法发送接收数据 以上内容为服务器与客户端建立连接的准备工作,一旦连接好后,就可以发送和接收数据了。 发送数据和接收数据可以分别用两种方式: 使用socket提供的Send()和Receive()方法 使用NetworkS

文档评论(0)

yan698698 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档