udp怎么实现互发信息代码 udp怎么实现互发信息代码 udp怎么实现互发信息代码 udp怎么实现互发信息代码
我写的发送的代码
public class UdpService extends Service{
// private static final int DATA_LEN = 4096;
private DatagramSocket socket;
public UdpService(){
try{
socket = new DatagramSocket();
}catch(IOException e){
e.printStackTrace();
}
}
public DatagramSocket getDatagramSocket(){
return this.socket;
}
public void sendMsg(String msg, InetSocketAddress dest){
try{
byte[] buffer = msg.getBytes();
DatagramPacket packet = new DatagramPacket(buffer, buffer.length, dest);
socket.send(packet);
}catch(IOException e){
e.printStackTrace();
if(socket != null){
socket.close();
}
System.out.println("网络异常");
System.exit(1);
}
}
public void sendMsg(String msg, String dest){
// System.out.println(dest);
InetSocketAddress address = ComUtil.strToAddress(dest);
sendMsg(msg, address);
}
}
使用udp互发代码,很简单。
第一点:要知道recvfrom();函数是怎么得到信息的。
第二:将recvfrom();中的网络地址取出来,用链表存储,或者用结构体存储。
第三:sendto();函数发送的地址取你存储的那个地址就是。
第四:如果你想成为程序员,建议你根据上述,自己实现。