Socket编程

一、OSI参考模型

分层:

应用层

表示层

会话层

传输层

网络层

数据链路层

物理层


二、IP地址

ip地址唯一标识一台计算机。ip地址包含网络地址和主机地址两部分。

IPv4:有32位地址。由4个8位二进制数组成。

IPv6:有128位地址。由8个16位的无符号整数组成。


三、端口

端口是计算机与外界通信的入口和出口,范围是0~65535(2的16次冥-1)。

在同一台计算机上,任何两个进程不能同时使用一个同一个端口。

但是,一个端口可以被多个线程访问。


四、TCP/IP协议

1、TCP/IP协议簇,简称为TCP/IP协议。

2、TCP是面向连接的,可靠的,全双工的,基于字节流的传输层通信协议。

3、UDP是无连接的,不可靠的,数据报协议。UDP主要的作用是:压缩。它将网络数据压缩成数据报的形式。


五、Socket类

1、构造方法

1.1  Socekt s= new Socket(hostname,port);

1.2  Socket s= new Socket(address,port);

2、主要方法:

1)int getPort:返回远程端口

2) int  getLocalPort :返回本地端口

3)getInputStream

4)getOutputStream


六、SocketServer类

1、构造方法

1.1  SocketServer  ss= new SocketServer(port);

1.2  SocketServer  ss= new SocketServer(port,maxqu);  //maxqu:最大连接数

2、主要方法:

1)accept 等待客户端发起通信,监听状态


七、InetAddress类

1、主要方法

1.1   InetAddress  getLocalHost()  :返回本地主机的InetAddress对象

1.2   InetAddress  getByName(String hostname)  :返回指定主机名hostname对应的InetAddress对象

1.3  InetAddress[]  getAllByName(String hostname):返回指定主机名hostname对应的所有可能的InetAddress对象



八、基于UDP协议的socket编程

DatagramPacket:数据容器

DatagramSocket:发送或接收。它不会产生输入、输出流。

注意:基于UDP通信的两个程序之间的关系,是对等的,无主次之分。


8.1、DatagramPacket 类

8.1.1 DatagramPacket 类的构造方法

 DatagramPacket dp= new DatagramPacket(sendStr.getBytes(), 0, sendStr.getBytes().length, ia,9070);

byte[] getData():返回字节数组,也就是包中的数据。



8.2.DatagramSocket常用方法

8.2.1  send方法

8.2.2  receive方法







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值