网络编程, /*日常笔记*/

来源:互联网 发布:如何删除mac系统 编辑:程序博客网 时间:2024/06/04 01:03
1: 网络编程的概述:
网络的含义: 不同的设备之间的数据交流.

2: 网络通信三要素:
A:IP地址
网络当中,你的通信设备(计算机)所在的地址.一般是ipv4 例如: 192.168.15.201

B:端口号
在通信设备(计算机)当中程序的地址.
端口号有范围:0~65535之间.其中0~1024为系统端口

C:通信协议:
a:UDP协议
b:TCP协议

3: InetAddress的概述:
InetAddress此类表示互联网协议(IP)地址.
通过主机名获取IP地址:
InetAddress address = InetAddress.getByName("主机名")
常用的两个方法:
address.getHosetName()得到主机名
address.getHosetAddress()得到ip




4:UDP协议接发数据:

A:使用UDP协议发送数据(4步走):
a:创建Socket对象
b:打包数据
c:发送数据
d:释放资源

DatagramSocket的构造方法:

DatagramSocket:
此类表示用来发送和接受数据,基于UDP协议的.

DatagramSocket():
创建Socket对象并随机分配端口号.

DatagramSocket(int port):
创建Socket对象并指定端口号.


B:使用UDP协议接收数据(5步走):
a:创建接收端Socket对象(需要端口号)
b:接收数据
c:解析数据
d:输出数据
e:释放资源

C:UDP协议收发数据的注意事项:
a:端口和主机名写错:
端口号错误:数据可以正常发出,不会出现异常,但是收不到数据.
主机名写错:出现异常
b:端口号不能重复使用
出现异常  Adderss already in use: Cannot bind

UDP协议和 TCP协议的区别:
a:传输数据大小




5:TCP协议收发:
A:使用TCP协议发送数据(客户端)
a:创建发送端Socket对象(创建连接)
b:获取输出流对象(使用Socket的对象去得到输出流的对象 OutputStream)
c:写入数据(发送)
d:释放资源



B:使用TCP协议接收数据(服务端)
a:创建ServerSocket对象(明确端口号)
b:监听(阻塞) 通过ServerSocket去得到当前连接到服务器的Socket对象
c:获取输入流对象 Socket得到输入流的对象,InputStream
d:获取数据
e:输出数据
f:释放资源

ServerSocket:接收端,服务端Socket
ServerSocket(int port)
Socket accept()
原创粉丝点击