A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

udp

© 李志广 中级黑马   /  2012-8-4 09:26  /  1517 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

import java.net.*;
class UdpSend3
{
        public static void main(String[] args) throws Exception
                {
                        DatagramSocket ds=new DatagramSocket();
                        byte[] buf="java is coming back".getBytes();
                        DatagramPacket dp=new DatagramPacket(buf,buf.length,InetAddress.getByName("192.168.0.6"),10009);
                        ds.send(dp);
                        ds.close();
                }
}
class UdpRece3
{
        public static void main(String[] args) throws Exception
                {
                DatagramSocket ds=new DatagramSocket(10009);
                byte[] buf=new byte[1024];
                DatagramPacket dp=new DatagramPacket(buf,buf.length);
                ds.receive(dp);
                String ip=dp.getAddress().getHostAddress();
                String data=new String(dp.getData(),0,dp.getLength());
                int port =dp.getPort();
                System.out.println(ip+":"+data+":"+port);
                }
                ds.close();

}

为什么老是提示这样的错误啊,很费解!!!!!!!!{:soso_e118:}


搜狗截图_2012-08-04_09-24-52.png (1.99 KB, 下载次数: 38)

搜狗截图_2012-08-04_09-24-52.png

评分

参与人数 1黑马币 +30 收起 理由
包晗 + 30

查看全部评分

2 个回复

倒序浏览
因为你把那一句ds.close()写在了main方法的外面。
以后书写一定要注意啊,看清楚位置,以前我把一个方法写在main方法里面了,找了好久都发现不了为什么错
回复 使用道具 举报
余明辉 发表于 2012-8-4 09:30
因为你把那一句ds.close()写在了main方法的外面。
以后书写一定要注意啊,看清楚位置,以前我把一个方法写 ...

呵呵,谢谢看来一定要细心啊!!!问题已解决
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马