《java网络编程精解》孙卫琴new

《java网络编程精解》孙卫琴new

ID:21907740

大小:33.96 KB

页数:6页

时间:2018-10-25

《java网络编程精解》孙卫琴new_第1页
《java网络编程精解》孙卫琴new_第2页
《java网络编程精解》孙卫琴new_第3页
《java网络编程精解》孙卫琴new_第4页
《java网络编程精解》孙卫琴new_第5页
资源描述:

《《java网络编程精解》孙卫琴new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第1章Java网络编程入门服务器与客户程序只需关心发送什么样的数据给对方,而不必考虑如何把这些数据传输给对方,传输数据的任务由计算机网络完成。两个进程顺利通信的前提条件是它们所在的主机都连接到了计算机网络上。网络协议是网络中主机之间通信的语言。不同网络之间的互联靠网络上的标准语言——TCP/IP协议。OSI参考模型把网络分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。不同主机之间的相同层称为对等层。物理层:为上一层提供物理连接,以及规定通信节点之间的机械和电气特性。数据作为原始的比特(bit)流传输。数据链路层:数据链路层负责在两个相邻节点间的线

2、路上,无差错地传送以帧为单位的数据。典型设备是交换机。网络层:选择合适的网间路由和交换节点,确保数据及时传送到目标主机。典型设备是路由器。传输层:根据通信子网的特性最佳地利用网络资源,为两个端系统的会话层提供建立、维护和取消传输连接的功能,以可靠方式或不可靠方式传输数据。信息的传送单位是报文。会话层:管理进程间的会话过程,即负责建立、管理、终止进程间的会话。数据传送单位是报文。表示层:对上层数据进行转换,以保证一个主机的应用层的数据可以被另一个主机的应用层理解。数据传送单位是报文。应用层:确定进程间通信的实际用途,以满足用户实际需求。发送方每一层会给上一层传递来的数据加上一

3、个信息头。接收方每一层会把信息头去掉。对等层之间互相通信需要遵守一定的规则,如通信的内容和通信的方式,这种规则称为网络协议。OSI模型各层典型协议:书P8TCP/IP参考模型分为4个层次:应用层、传输层、网络互联层和主机-网络层。TCP/IP参考模型各层协议:书P9TCP协议:面向连接的、可靠的协议。UDP协议:不可靠的、无连接协议。IP协议:IP地址(IP网址+IP主机地址),网络掩码与IP地址进行二进制与操作,得到的结果就是IP网址。DNS协议采用DNS服务器来提供把域名转换为IP地址。TCP采用端口区分进程。TCP连接的两个端点用端口来标识。每个进程有了唯一的地址,T

4、CP就能保证把数据顺利送达特定的进程。端口号的范围为0到65535。0-1023操作系统保留。服务端端口号需要指定,客户端端口号一般系统动态分配。TCP和UDP都用端口来标识进程,取值范围各自独立,允许存在取值相同的TCP端口和UDP端口。客户/服务器模式,一个服务器进程会同时为多个客户进程服务。常用服务及端口,书17页。传输层向应用层提供了套接字Socket接口,Socket封装了下层数据传输细节,应用层程序通过Socket来建立与远程主机的连接,以及进行数据传输。Java中有3种套接字类:Socket、ServerSocket、DatagramSocket。Socket

5、和ServerSocket建立在TCP协议上,DatagramSocket建立在UDP协议上。第1章Socket用法详解客户/服务器通信模式中,客户端需要主动创建与服务器连接的Socket,服务端收到客户端连接请求,也会创建与客户连接的Socket。等待建立连接的超时时间,默认情况下会一直等待下去,通过不带参数的Socket构造方法可以设定等待时间,单位毫秒,为0表示永远不会超时。设定服务器地址,InetAddress设定客户端地址,Socket对象既包含服务器IP和端口也包括客户端地址和端口,对于拥有多个IP地址的客户端可指定使用哪个IP。客户端连接服务端的异常:Unkn

6、ownHostException(无法识别主机名或IP地址),ConnectionException(服务端没有监听指定端口或者拒绝连接),SocketTimeoutException(连接超时),BindException(无法把Socket对象与客户端IP或端口绑定),详见ConnectTester类getInputStream和getOutputStream:如果Socket还没有连接或者已经关闭,或者已经调用shutdownInput(shutdownOutput)方法,则关闭输入输出流。当通信结束,应及时通过close方法关闭Socket。强烈建议放在finall

7、y代码中确保总是执行。Socket状态:isClose(如果已连接到远程主机,且还未关闭,返回true),isConnected(如果曾经连接到远程主机,返回true),isBound(如果已经与一个本地端口绑定,则返回true)半关闭Socket,结束通信的几种方式:书33页(1)字符流:约定特殊字符(2)约定数据长度(3)发送方发完数据后,关闭Socket,这时接收端调用输入流的read方法返回值为-1(4)关闭输入或输出流,最终还需要调用Socket的close方法关闭Socket连接isInputShutd

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。