该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
这是电脑接收端
package socket_test;
/**
* @(#)Liaotianshi.java
*
* Liaotianshi application
*
* @author
* @version 1.00 2012/12/19
*/
import java.io.*;
import java.net.*;
public class Liaotianshi implements Runnable{
client_send client_send=new client_send();
public Liaotianshi() {
client_send.client_send1("dfjdjkl");
}
@Override
public void run() {
// TODO Auto-generated method stub
InetAddress group = null;
try {
group = InetAddress.getByName("239.22.21.20");
} catch (UnknownHostException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
finalint port=9810;
// TODO, add your application code
//System.out.println("Hello World!");
MulticastSocket socket=null;
System.out.println("等待接收组播数据中。。。");
try{
byte[] buf=new byte[1000];
DatagramPacket recv=new DatagramPacket(buf,buf.length);
socket=new MulticastSocket(port);
socket.joinGroup(group);
while(true)
{
socket.receive(recv);
String str=new String(recv.getData(),0,recv.getLength());
System.out.println("从["+recv.getAddress()+"]收到"+str);
// client_listen.client_listen(str);
if(str.equals("yousheizai")){
String ip,address;
InetAddress addr = InetAddress.getLocalHost();
ip=addr.getHostAddress().toString();//获得本机IP
address=addr.getHostName().toString();//获得本机名称
System.out.println("ip:"+ip+"\n"+address);
client_send.client_send1(addr.toString());
}
}
}catch(IOException e){
e.printStackTrace();
}finally{
if(socket!=null){
try {
socket.leaveGroup(group);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
socket.close();
}
}
}
}