赞
踩
网络编程基础知识:
当两台主机想要互相交流时:
① 各自需要拥有唯一的标识,来表明各自的身份,位置(IP地址)
② 拥有可以相互交流的语言(协议)
③ 每台主机相应的端口号(端口号用来区分主机上的多种程序的运行)
IP地址:每台主机的唯一标识。
端口:区分不同的应用程序(唯一的端口号),范围0~65535.其中,0~1023为系统保留使用。
IP地址加上端口号组成所谓的Socket。Socket是网络上运行的程序之间的双向通信链路的终结点,是TCP和UDP的基础。
固定的端口号:HTTP:80 FTP:21 Telnet:23
TCP/IP协议:目前世界上应用最为广泛的协议。也称:TCP/IP协议族或TCP/IP协议栈。
TCP:传输控制协议 IP:互联网协议
HTTP:超文本传输协议 FIP:文本传输协议
SMTP:简单邮件传送协议 Telnet:远程登录服务
TCP/IP协议:
① 应用层:HFTP , HTTP , SNMP ,FTP ,SMTP ,DNS ,Telent
② 传输层:TCP ,UDP
③ 网络层:IP ,ICMP ,OSPF ,EIGRP ,IGMP
④ 数据链路层:SLIP ,CSIP ,PPP ,MTO
每一抽象层建立在低一层提供的服务上,并且为高一层服务。
针对网络通信的不同层次,java提供的网络功能有四大类:
① InetAddres:用于标识与网络上的硬件资源,表示互联网协议(IP)地址。
② URL:统一资源定位符,通过URL直接读取或者写入网络上的数据。
③ Socket:使用TCP协议实现的网络通信的Socket相关的类。
④ Datagram:使用UDP协议,将数据保存在数据报中,通过网络进行通信。
URL:由两部分组成。①协议名称 ②资源名称。中间用”://”隔开。
1. 通过URL对象的openStream()方法可以得到指定资源的输入流
2. 通过输入流可以读取或访问网上的资源。
TCP协议面向连接、可靠的、有序的,以字节流的方式发送数据。
基于TCP协议的实现网络通信的类:
① 客户端的Socket类
② 服务器端的ServerSocket类
Socket编程之Server篇
1. 建立服务器端Socket,即ServerSocket,指定绑定的端口,并监听此端口。
2. 调用accept()方法开始监听,等待客户端的连接。(等待过程中,处于堵塞状态)
3. 获取输入流,并读取客户端信息。
4. 获取输出流,响应客户端请求。
5. 关闭响应资源。
Socket编程之Client篇
1. 创建客户端Socket,指定服务器地址和端口号。
2. 获取输出流,向服务器端发送信息。
3. 获取输入流,并读取服务器端的响应信息。
4. 关闭响应资源。
服务器端须早于客户端启动 本地服务器:localhost
注意:
多线程的优先级:
未设置优先级的,可能导致运行时速度非常慢,可减低优先级。
对于同一个Socket,如果关闭了输出流,则与该输出流关联的Socket也会被关闭,所以一般不用关闭流,直接关闭Socket
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。