[size=medium]
Java 网络编程,这里介绍两种常用协议,TCP 和 UDP。
UDP 特点 : 1 无连接 2 不可靠 3 大小64K 4 效率高(正因为其面向无连接)
UDP 示例 为 广播站,不管你接收不接收,我都已经广播出去。
TCP 特点 :1 有连接 2 比较可靠 3 数据量较大
TCP 示例: 打电话,必须通了才能通话。
下面是代码,比较简单,只做参考
[/size]
Java 网络编程,这里介绍两种常用协议,TCP 和 UDP。
UDP 特点 : 1 无连接 2 不可靠 3 大小64K 4 效率高(正因为其面向无连接)
UDP 示例 为 广播站,不管你接收不接收,我都已经广播出去。
TCP 特点 :1 有连接 2 比较可靠 3 数据量较大
TCP 示例: 打电话,必须通了才能通话。
下面是代码,比较简单,只做参考
[/size]
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class UdpSender {
public static void main(String[] args) throws Exception {
DatagramSocket ds = new DatagramSocket();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
byte [] buf = new byte[1024];
while((buf = br.readLine().getBytes())!=null){
if("110".equals(new String(buf,0,buf.length)))
break;
DatagramPacket gp = new DatagramPacket(buf, buf.length,InetAddress.getByName("192.168.2.192"),888);
ds.send(gp);
}
ds.close();
br.close();
}
}
import java.net.DatagramPacket;
import java.net.DatagramSocket;
public class UdpReceiver {
public static void main(String[] args) throws Exception {
DatagramSocket ds = new DatagramSocket(888);
while(true){
byte[] buf = new byte[1024];
DatagramPacket dp = new DatagramPacket(buf, buf.length);
ds.receive(dp);
String ip = dp.getAddress().getHostAddress();
int port = dp.getPort();
System.out.println(new String(dp.getData(),0,dp.getLength())+"--"+ip+"---"+port);
}
}
}