网络编程在实际应用当中,并不只是简单的单线程应用,因为客户端和服务端之间经常存在多个客户端同时访问一个服务端的情况,服务端必须能够同时接收多个服务端的访问,这就要用到多线程技术。本节总结主要给出网络编程的一些高级应用实例。
一,需求:定义服务端和客户端,客户端上传图片文件到服务端,服务端允许同时接收多个用户上传文件。
分析:之前的上传图片的程序,服务端只允许单个客户端连接并上传图片;但是现实中是可能有多个客户端同时要访问服务端并上传文件。所以要将服务端的接受客户端的数据封装到线程中。
讯享网
三,浏览器与服务器通信原理
浏览器与服务器之间的互相访问原理就是客户端和服务端之间进行数据传输的过程,就拿我们所使用的浏览器与Tomcat服务器来说明,浏览器之所以可以获取服务器上的数据,就是因为浏览器在向服务器发送请求,服务器接收到浏览器的请求后,分析客户端的请求,然后根据请求返回给客户想要的数据。我们可以通过自定义一个简单的服务端,然后通过浏览器访问该服务端,通过Socket流就可以获取浏览器到底发送的请求内容是什么。
1,需求:自定义一个服务端,可供多个浏览器同时访问,获取浏览器的请求信息,并打印出请求信息的内容。
使用猎豹浏览器的请求信息内容:
讯享网
2,自定义浏览器
通过上面的程序知道浏览器在访问服务器时发送的请求的内容后,我们可以自己定义第一个浏览器,向Tomcat服务器发送这样的请求,来访问服务器,那么我们就可以得到服务器发送回来的数据。
(1)需求:自定义一个浏览器,访问Tomcat服务器中一个html网页,通过控制台打印出服务器返回的网页数据。
(2)需求:编写一个简易的浏览器,在文本框中输入网址可以访问tomcat服务器的网页;
重点在于对用户输入的网址进行解析然后传给Socket协议。
除了自定义的网页内容,还有tomcat服务端返回的应答服务头。
http应答服务头:
(3)需求:编写一个简易的浏览器,在文本框中输入网址可以访问tomcat服务器的网页;

重点在于对用户输入的网址进行解析然后传给Socket协议。
四,统一资源定位符URL
它是指向互联网“资源”的指针。资源可以是简单的文件或目录,也可以是对更为复杂的对象的引用。
常用方法:
获任小龙java基础腾讯取此 URL 的文件名。
获取此 URL 的主机名(如果适用)。
获取此 URL 的路径部分。
获取此 URL 的端口号。
获取此 URL 的协议名称。
获取此 URL 的查询部分。
基本用法:
五,URL的一个重要方法:openConnection()
URLConnection openConnection()
URLConnection 对象,它表示到 URL 所引用的远程对象的连接。
只要URL对象调用了该方法,那么我们就不需要建立socket对象,客户端就会去连接这台主机;而URLConnection对象中有含有获取socket中的输入流和输出流,以便对服务端的数据和发送请求做基础;其实,该对象实际就是讲传输层的数据包进行了解包,送到应用层,用户那里就没有了响应头;
基本使用方法示例:
六,自定义浏览器的改进
需求:编写一个简易的浏览器,在文本框中输入网址可以访问tomcat服务器的网页。使用统一资源定位符解析用户输入的网址。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/6020.html