第八章 网络编程

2017-11-17  本文已影响4人  孙浩j

访问某个网站,都是通过DNF解析器给它解析成一个域名,所以说访问某个网站就是访问其域名

物理层

数据链路层

网络层

传输层

应用层

IP(4字节=网络段+主机段)

网络编程的实际就是socket编程,通信两段都有socket,数据在两个socket间进行IO传输

建立链接所需的寻址信息是IP地址和端口号

TCP/IO(效率低,可靠)  65536端口

servet和client链接的管道中有一条输入管道和一条输出管道

出现的问题:readUTF是阻塞式,如果数据没有读完,下一个socket永远也不会链接上来

读的操作是堵塞的,也就是当服务器和客户端交流时,一端先读数据,后写数据,如果没有接收到另一端写的数据,这一端永远不会跳过读这个过程进行写操作,也就出现了只能写一句读一句的问题。

注:1.读取键盘输入也是堵塞式,所以当客户端服务端都先写输入,再写读取,就会出现,一端输入数据,而另一端却读不出来,只有另一端也输入完后,才能执行读的方法,才能读到一端输入的数据。

2.都先写读,两者都没有写数据就会永远也读不出来数据

注:当数据没读出来,下一个客户端链接不上

实现服务端和客户端的键盘输入通信

1.连接服务器用户

2.建立接收键盘输入对象

3.包装输出流为打印流,包装输入流为缓冲流

4.当服务器段接收键盘输入打印数据,用户端输出,反之

如果想要客户端多次输入,可以另外开启一个线程

上一篇 下一篇

猜你喜欢

热点阅读