協議
- 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();
}
}