- 论坛徽章:
- 0
|
/**
* Message.java
* 负责信息的发送和接收
*/
package qq.bean;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
/**
* @author wuliqiang
* 用无连接的udp 发送
*/
public class Message {
private static int port;
// 成员变量的初始化
public Message(String strport) {
port = Integer.parseInt(strport);
}
public String RecvFromRemote()
{
DatagramSocket socket = null;
String strbuf = null;
try {
socket = new DatagramSocket(port);
} catch (SocketException e) {
System.out.println("create socket error!");
e.printStackTrace();
}
//set up packet
byte data[] =new byte[1024];
DatagramPacket recvPacket = new DatagramPacket(data, data.length);
try {
socket.receive(recvPacket);
} catch (IOException e) {
System.out.println("receive error!");
e.printStackTrace();
}
strbuf= new String(recvPacket.getData(), 0, recvPacket.getData().length);
return strbuf.trim();
}
public void SentdToRemote(String Ip, String strSend)
{
DatagramSocket socket = null;
InetAddress inetAddr =null;
try {
inetAddr = InetAddress.getByName(Ip);
} catch (UnknownHostException e1) {
System.err.println("error create inetAddr");
e1.printStackTrace();
}
try {
socket = new DatagramSocket();
} catch (SocketException e) {
System.err.println("create socke error");
e.printStackTrace();
}
//set the package
byte data[] = strSend.getBytes();
DatagramPacket sendPacket = new DatagramPacket(data, data.length, inetAddr, port );
try {
socket.send(sendPacket);
} catch (IOException e) {
System.err.println("socket send error!");
e.printStackTrace();
}
}
}
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/49717/showart_1357471.html |
|