- 1、本文档共148页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
;一、应用场景
二、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);;第二种是读写超时。;小结;;一、任务描述
二、任务分析、设计
三、任务实施
四、运行结果;40;二、任务分析、设计;实现思路;三、编码实现;定义服务器端类ServerWithTCP;ServerWithTCP类继承JFrame类,以实现图形界面。
封装图形界面所使用的属性、输入输出流对象以及ServerSocket和Socket对象等属性。
封装构造方法ServerWithTCP(),初始化图形界面
定义setServer()方法,设置服务器服务。
定义getClientInfo()方法,获取客户端发送来的消息
定义main方法。;其运行效果图如图所示。;用户在文本框中输入信息
点击“发送”按钮,按钮响应事件处理
按钮事件处理做三件事:将本文本框中的信息写入输出流,发送给客户端;将信息追加到本地的文本框中,用于本地显示;清空文本框。;第一步,编写服务器端类的构造方法,实现界面的初始化;“发送”按钮响应事件处理,一般步骤:
注册事件监听器
实例化监听器类
重载actionPerformed()方法;button.addActionListener(newActionListener(){
publicvoidacti
您可能关注的文档
- 《C语言程序设计》课件——4.5实例讲解.pptx
- 《C语言程序设计》课件——7.3函数的返回值.pptx
- 《AUTOCAD》课件——项目二 平面图形基础.pptx
- 《C语言程序设计》课件——1.1C语言概述.pptx
- 《C语言程序设计》课件——1.2C程序基本结构.pptx
- 《C语言程序设计》课件——4.1算法及其表示.pptx
- 《C语言程序设计》课件——9.13用指针变量名加下标的形式访问数组.pptx
- 《C语言程序设计》课件——10.6共生体类型数据.pptx
- 《H5页面与交互动画设计》课件——H5页面的交互设计.pptx
- 《H5页面与交互动画设计》课件——H5中的动效、动画 .pptx
- 《LED封装应用技术》课件——二合一编带机简介.pptx
- 《LED封装应用技术》课件——发展简史.pptx
- 《LED封装应用技术》课件——固晶机各组件的保养和注意事项.pptx
- 《商务英语口语》课件——Kung Pao Chicken.pptx
- 《商务英语口语》课件——Lateral and Semi-Vowels 舌边音和半元音.pptx
- 《Python程序设计》——第一章习题.docx
- 《WEB前端开发技术》课件——动画效果.pptx
- 《本科英语》——说课课件.pptx
- 《餐饮服务与数字化运营》课件——学习资料——寻访主题餐厅.ppt
- 《茶艺与茶文化》课件——1.2.3 品茗与茶礼.pptx
文档评论(0)