您的位置:首页 > 其它

udp协议 DatagramSocket

2011-01-19 00:02 267 查看
UDP协议是用户数据包协议,它面向非连接的协议,不与对方建立连接,而是直接把数据包发送出去;TCP协议是传输控制协议,它是可靠的,面向连接的,基于字节流的运输层通信协议。UDP因为没有连接过程,所以它的通信效果好,但正如此它的可靠性没有TCP协议高。如QQ就是UDP发送消息,有时会收不到消息。

package ZHANG.Socket.DatagramSocket;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;

public class UpdSend {

/**
* @param args
*/
public static void main(String[] args) {
DatagramSocket ds;
DatagramPacket dp;
String strInfo = "hello wangs";
try {
ds = new DatagramSocket();
dp = new DatagramPacket("hello wang".getBytes(),"hello wang".length(),InetAddress.getByName("192.168.200.112"),3333);
ds.send(dp);
ds.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

}


package ZHANG.Socket.DatagramSocket;

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;

public class UpdRecev {

/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
DatagramSocket ds = new DatagramSocket(3333);
byte[] buf = new byte[1024];
DatagramPacket dp = new DatagramPacket(buf,1024);
ds.receive(dp);
String receInfo = new String(dp.getData(),0,dp.getLength());
System.out.println(receInfo+"from "+dp.getAddress().getHostAddress()+" port:"+dp.getPort());
ds.close();

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: