协议
- UDP协议:将数据源和目的封装在数据包中,不需要建立连接。每个数据报的大小在64k,因为没有连接所有是不可靠的协议,但是速度快。
- TCP协议:建立连接,形成传输数据的通道。在连接中进行数据的传输,通过三次握手完成连接,是可靠的连接,但是速度较慢。
使用UDP发送接收数据
package Test_13;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class SendDemo {
public static void main(String[] args) throws IOException {
DatagramSocket ds = new DatagramSocket();
String s = "hello world";
byte[] bt = s.getBytes();
int length = bt.length;
InetAddress address = InetAddress.getByName("Lenovo-PC");
int port = 8888;
DatagramPacket dp = new DatagramPacket(bt,length,address,port);
ds.send(dp);
ds.close();
}
}
----------
package Test_13;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class ReceiveDemo {
public static void main(String[] args) throws IOException {
DatagramSocket ds = new DatagramSocket(8888);
byte[] bt = new byte[1024];
DatagramPacket dp = new DatagramPacket(bt, bt.length);
ds.receive(dp);
InetAddress address = dp.getAddress();
byte[] data = dp.getData();
int length = dp.getLength();
System.out.println("sender-->"+address.getHostAddress());
System.out.println(new String(data,0,length));
ds.close();
}
}