Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5520575
  • 博文数量: 763
  • 博客积分: 12108
  • 博客等级: 上将
  • 技术积分: 15717
  • 用 户 组: 普通用户
  • 注册时间: 2007-09-28 21:21
个人简介

业精于勤,荒于嬉

文章分类

全部博文(763)

文章存档

2018年(6)

2017年(15)

2016年(2)

2015年(31)

2014年(14)

2013年(87)

2012年(75)

2011年(94)

2010年(190)

2009年(38)

2008年(183)

2007年(28)

分类: Java

2008-11-02 14:19:15

/**
 * 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();
        }
        
    }

}

阅读(1739) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~