DCP和TCP
2012-03-19 17:34 党飞 阅读(1502) 评论(0) 收藏 举报---------------------- android培训、java培训、期待与您交流! ----------------------
DCP和TCP是实现网络传输应用最广泛的两个协议,让我们分别看看他们的优缺点:
UDP:
1.面向无连接
2.数据包大小限制在64k
3.不可靠
4.速度快
TCP:
1.需建立连接
2.适用于大量数据传输
3.三次握手,可靠协议
4.效率低
根据tcp和udp的这些他点,他们在不同的方面都有广泛的应用,如udp用在qq,视频会议等
而tcp用在文件上传下载。
下面看看,udp及tcp的实现方法。
udp:
java为我们提供了DatagramSocket和DatagramPacket来实现udp传输
看一个例子:
我们来创建一个接收端:
public static void main(String[] args) {
// TODO Auto-generated method stub
try {
DatagramSocket ds = new DatagramSocket(1001);//创建udp接收socket,指定端口
byte[] buf = new byte[1024]; //创建字符串缓冲区
DatagramPacket dp = new DatagramPacket(buf,buf.length);//创建数据包以便接收数据
ds.receive(dp); //此方法为线程线程阻塞方法,接收数据
String str = new String(dp.getData(),0,dp.getLength());
System.out.println(str);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
再来创建一个发送端:
public static void main(String[] args) {
try {
DatagramSocket ds = new DatagramSocket();//upd发送端socket
byte[] buf = "dangfei".getBytes();
DatagramPacket dp = new DatagramPacket(buf,buf.length,InetAddress.getLocalHost(),1001);//创建发送数据包,指定主机,端口号。
ds.send(dp);
ds.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
OK,到这里我们就完成了udp的简单传输,tcp的实现在下节说。
---------------------- android培训、java培训、期待与您交流! ----------------------
浙公网安备 33010602011771号