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方法







阅读更多
文章标签: Socket
个人分类: Java学习
上一篇线程
下一篇HTML与CSS初探
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭