网络编程
网络模型
TCP/IP参考模型 OSI参考模型
应用层 应用层 表示层 会话层 HTTP
传输层 传输层 TCP UDP
网际层 网络层 IP
主机至网络层 数据链路层 物理层
网络通信要素
IP地址 本机回环地址 127.0.0.1 主机名: localhost
端口号 0~65535 0~1024系统保留
传输协议 TCP UDP
UDP
将数据及源和目的封装成数据包中,不需要建立连接
每个数据包的大小在限制在64k内
因无连接,是不可靠协议
不需要建立连接,速度快
TCP
建立连接,形成传输数据的通道
在连接中进行大数据量传输
通过三次握手完成连接,是可靠协议
必须建立连接,效率会稍低
数据在两个Socket间通过IO进行传输
UDP传输 的Socket
DatagramSocket
receive send
DatagramPacket
import java.net.*;
/*
通过udp传输方式,将一段文字数据发送出去。
思路:
1, 建立 udpsocket 服务
2. 提供数据,并将数据封装到数据包中
3, 通过socket 发送功能,将数据包发出去
4.关闭资源
*/
class UdpSend
{
void wang() throws Exception
{
DatagramSocket ds = new DatagramSocket();
byte[] buf = "udp 123".getBytes();
DatagramPacket dp = new DatagramPacket(buf,buf.length,InetAddress.getByName("192.168.1.10"),12345);
ds.send(dp);
ds.close();
}
}
//定义UdpSocket服务
//定义一个数据包
//通过receive方法将收到的数据存入已定义好的数据中
//通过数据包对象的特有功能,将这些不同的数据取出。
//关闭资源
class UdpRece
{
void jie() throws Exception
{
DatagramSocket ds = new DatagramSocket(12345);
byte[] buf = new byte[1024];
DatagramPacket dp = new DatagramPacket(buf,buf.length);
ds.receive(dp); //阻塞方法, 没有数据就等。
dp.getDate();
ds.close();
}
}

浙公网安备 33010602011771号