java基础之网络编程

1、OSI模型
物理层:比特流传输
数据链路层:提供介质访问、链路管理等,比如说交换机
网络层:寻址和路由选择,比如说路由器
传输层:建立主机端到端的连接
会话层:建立、维护和管理会话
表示层:处理数据格式、数据加密等
应用层:提供应用程序间的通信。
2、TCP/IP协议
网络接口层、网络层、传输层、应用层。
3、网络编程的两个问题:
如何定位网络中的其他主机。
如何实现数据的传输。
4、网络通讯的要素:
IP地址:主机地址,对应类InetAdress。
端口号:应用程序的逻辑地址,16位,取值范围65535,http端口80.
协议:TCP(Transfer Control Protocol),保证数据流顺序无差错。可靠的协议。比如说传输文件。
UDP(User DataGram Protocol )协议:不保证顺序,不可靠的协议。传输效率高、速度快。比如说视频传输。
5、基于TCP的Socket编程
Socket(套接字):用于描述IP地址和端口,是一个通信链的句柄。Socket是双向通讯的端点,不管是服务器还是客户端都应该有。
创建TCP服务端的步骤:
创建一个ServerSocket对象,调用accepet方法接收客户端的请求,从Socket中获取IO流,对IO流进行读写操作,完成与客户端的交互。关闭IO流和Socket。
创建TCP的客户端步骤:
创建一个Socket对象,从Socket中获取IO流,对IO流进行读写操作,完成与服务器的交互,关闭IO流和Socket。
6、基于UDP的Socket编程
创建发送端:
建立一个DatagramSocket对象,该端点建立,系统会随机分配一个端口,如果不想随机可以自己手动设置。
将数据进行packet包封装,必须指定目的地地址和端口。
通过socket服务的send方法将包发出。‘
最后将socket关闭。
创建接收端:
建立一个DatagramSocket对象,要监听一个端口。
通过socket的receive方法将数据存入数据包
通过数据包datagrampackage所提供的方法就能获取包中的信息。
将socket关闭。
7、URL(统一资源定位器)编程
它表示Internet上某一个资源的地址。
基本构成:<传输协议>://<主机名>:<端口号>//<文件名>#引用
可以通过很多方法获取URL对象的属性
使用URL的openCOnnection()方法穿件一个URLconnection类对象,在通过它的对象获取输入输出流。
或是利用URL类的openStream()方法与指定的URL建立连接并返回InputStream类的对象。

猜你喜欢

转载自fengwuhen1990.iteye.com/blog/2342858