您的位置:首页 > 理论基础 > 计算机网络

『黑马程序员』---java--网络编程--客户端和服务端

2014-02-08 13:55 447 查看
----------- android培训java培训、java学习型技术博客、期待与您交流! ------------



演示客户端和服务端

1,

客户端:浏览器(telnet)

服务端:自定义

浏览器其实就是一个客户端(浏览器客户端-自定义服务端)



注意:本机测试,自定义客户端中必须在服务户端打印出对方ip,IE中才可以读出”客户端你好”
扩展:
Win中远程工具,连接网络中的任意一台主机.Telnet[也是一个客户端]





2,

客户端:浏览器(telnet)

服务端:Tomcat

Tomcat是纯java编写的一个服务端软件,他里面其实就是封装了Socket.

简单截图,没必要细看……..









3,

客户端:自定义

服务端:Tomcat服务器

思考,浏览器在访问服务器时,给服务端发送了什么数据?

在自定义的服务端中,将客户端中发给服务端的数据读出来.



HTTP请求消息头



Accept-Encoding:gzip,deflate(提高效率,支持gzip压缩)

请求数据体和请求数据头,中间要有一个空行.标准..

自己按照上面,分析.自己做一个ie客户端,访问以下Tomcat服务器



注意,Connection:”Keep-Alive”的话,服务器会保持连接,不会立刻关闭.



简单优化,自定义浏览器:











应答消息头出现,是因为,我们走的是传输层….而ie走的是应用层,他已经把响应消息头处理了

深层优化,自定义浏览器:

java.net 
类 URL

类 URL 代表一个统一资源定位符,它是指向互联网“资源”的指针。资源可以是简单的文件或目录,也可以是对更为复杂的对象的引用,例如对数据库或搜索引擎的查询。

扩展URI也是资源定位符,URI的范围比URL大.

 String

getFile() 

          获取此 URL 的文件名。

 String

getHost() 

          获取此 URL 的主机名(如果适用)。

 String

getPath() 

          获取此 URL 的路径部分。

 int

getPort() 

          获取此 URL 的端口号。

 String

getProtocol() 

          获取此 URL 的协议名称。

 String

getQuery() 

          获取此 URL 的查询部分。

注意:





给力方法: (自动帮你连接URL,,,,,,)玩3G也用的上

 URLConnection

openConnection() 

     返回一个 URLConnection 对象,它表示到 URL 所引用的远程对象的连接。

 InputStream

openStream() 

          打开到此 URL 的连接并返回一个用于从该连接读入的 InputStream。

openStream() 方法,就是:openConnection().getInputStream()

一般,分开写,因为,URLConnection中会提供更多方法.来操作……

java.net 

类 URLConnection

直接已知子类: 

HttpURLConnection, JarURLConnection 

带着协议封装Socket,去掉响应头.直接跨到应用层……

 InputStream

getInputStream() 

          返回从此打开的连接读取的输入流。



域名解析:



小知识扩展:



在创建ServerSocket时,构造方法,中还有个参数------Backlog[控制在线客户端]

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐