Java套接字 数据包的构造及操作

编程入门 行业动态 更新时间:2024-10-25 08:17:21

Java套接字 <a href=https://www.elefans.com/category/jswz/34/1770940.html style=数据包的构造及操作"/>

Java套接字 数据包的构造及操作

套接字:

Socket是客户端的套接字,构造方法是

Socket(String host,int port)

host是IP地址,port是端口号。与客户端相连接的是服务器,使用

ServerSocket(int port)

进行构造,其中的参数是和对应的Socket对象一致的端口号。同时服务器的对象可以使用accept()方法与服务器建立连接。该方法返回一个与客户端对象对应的Socket对象sc驻留在服务器端,sc可使用getinputstream()方法将自己读入的源指向客户的getoutputstream()的结果,同时用getoutputstream()将自己的输出源指向客户端的getinputstream()建立的目的地。

Socket类有不带参数的构造方法Socket()创建一个套接字对象s,此时需要创建一个InetSocketAddress对象,使用其构造方法

InetSocketAddress(InetAddress addr,int port)

构造一个对象I。使用s.connect(I)与服务器建立连接。此时可以创建一个线程,将一些复杂的操作放在线程中去。同时start()线程。因此,使用该类型的套接字可以创建多线程来实现多线程输入输出操作(在服务器端创建客户的线程)。(P404!)

数据包:

发送数据包:DatagramPacket类存在两个构造方法构造对象data_pack读取特定数据并发送到相应的地址:

DatagramPacket(byte data[],int length,InetAddtress address,int port)
DatagramPacket(byte data[],int offset,int length,InetAddtress address,int port)

DatagramSocket类有个不带参数的构造方法负责调用send(data_pack)发送数据包:

DatagramSocket mail_out = new DatagramSocket();
mail_out.send(data_pack);

接收数据包:DatagramSocket类的另一种构造方法:

DatagramSocket mail_in = DatagramSocket(int port)

创建一个和发送数据报端口号一致的接收对象。

同时DatagramPacket还有一种构造方法用于将所接受的数据读取到已创建的一个数组中去。

byte data[] = new byte[100];
int length = 90;
DatagramPacket pack = DatagramPacket(data,length);
mail_in.receive(pack);

更多推荐

Java套接字 数据包的构造及操作

本文发布于:2024-03-09 04:46:39,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1723861.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数据包   操作   Java

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!