学习情境7-1 Java基于TCP编程.pptx

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

Java基于TCP编程;一、应用场景

二、TCP协议

三、TCP编程相关类

四、TCP编程步骤;3;TCP通信协议的常用应用场景

文件传输(FTPHTTP对数据准确性要求高,速度可以相对慢)

发送或接收邮件(POPIMAPSMTP对数据准确性要求高,非紧急应用)

远程登录(TELNETSSH对数据准确性有一定要求,有连接的概念)

数据传输(用于网络数据库,分布式高精度计算系统的数据传输);二、TCP协议;Socket即为套接字,是两个进程或两台机器之间通信链路的端点,通常用来实现客户机和服务器的连接,Socket本质是网络传输层提供给应用程序的一个接口(API),是对TCP/IP协议的封装,Socket本身并不是协议。它的出现只是使得程序员更方便地使用TCP/IP协议栈。

一个Socket套接字与主机地址和端口地址相关联。即一个Socket等于“IP地址+端口号”。;三、TCP编程相关类;1.Socket类;Socket(Stringhost,intport),创建流套接字并将其连接到指定主机上的指定端口号。;Socket(InetAddressaddress,intport),创建流套接字并将其连接到指定IP地址的指定端口号。;Socket主要的常用方法;2.ServerSocket类;ServerSocket(),无参构造方法,创建未绑定的服务器套接字。

ServerSocket(intport),有参构造方法,创建绑定到指定端口的服务器套接字。;ServerSocket类主要的常用方法;Sockets=server.accept();;ServerSocket类还包含其他一些set和get方法。;3.InetAddress类;InetAddressinet2=InetAddress.getByName();;InetAddressinet3=InetAddress.getLocalHost();;四、TCP编程步骤;TCP的通信步骤;3.创建客户端Socket,并设置服务端的IP及端口。

4.客户端发出连接请求。

5.如果连接成功,分别取得服务端和客户端的InputStream和OutputStream。

6.然后利用InputStream和OutputStream进行数据传输。

7.最后关闭流及Socket。;基于TCP的编程步骤:;第一步,创建服务端Serversocket并绑定指定端口;第三步,从客户端Socket对象获取输入流;第四步,循环读取数据,然后输出;第五步,关闭流和socket;客户端程序;第二步,从客户端Socket对象获取输出流;第三步,设置字符串,并向输出流中写入字符串;第四步,关闭流和socket;socket通信是阻塞的,它会在以下几个地方进行阻塞:

第一个是accept方法,调用这个方法后,服务端一??阻塞直到有客户端连接进来。

第二个是InputStream上的readread方法,调用read方法也会进行阻塞。

?;在实际应用中,程序可能不想让执行网络连接、读取数据的进程一直阻塞,而是希望当网络连接、读取操作超过合理时间之后,系统自动认为操作失败,这个合理时间就是超时时长。;可以通过设置超时时长来解决。

如果超时超时,则引发.SocketTimeoutException。;Sockets=newSocket();

s.connect(newInetSocketAddress(host,port),10000);;第二种是读写超时。;小结;谢谢

文档评论(0)

***** + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档