黑马程序员技术交流社区
标题:
关于UDP-键盘录入的问题
[打印本页]
作者:
蓝枫
时间:
2014-4-12 09:45
标题:
关于UDP-键盘录入的问题
import java.net.*;
import java.io.*;
class UdpSend
{
public static void main(String[] args)throws Exception
{
DatagramSocket ds = new DatagramSocket();
//键盘录入
BufferedReader bufr =
new BufferedReader(new InputStreamReader(System.in));
String line = null;
while((line= bufr.readLine())!=null)
{
if("889".equals(line))
break;
byte[] buf = line.getBytes();
DatagramPacket dp = new DatagramPacket
(buf,buf.length,InetAddress.getByName("192.168.1.100"),10001);
ds.send(dp);
}
ds.close();
}
}
class UdpReceive
{
public static void main(String[] args)throws Exception
{
DatagramSocket ds = new DatagramSocket(10001);
while(true)
{
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());
System.out.println(ip+":::"+data);
}
}
}
复制代码
这两个类文件都放在day020.java文件中
UdpSend即可编译也可以运行
为什么UdpReceive可以编译,却运行不了!
运行时出现 错误: 仅当显式请求注释处理时才接受类名称 'UdpReceive'
那地方出错了!帮忙看一下!
作者:
H._张_♂
时间:
2014-4-12 11:41
我用两个eclipse运行没问题。
作者:
展展
时间:
2014-4-12 11:54
少年,想让Udp的发送端和接收端放在同一个java文件夹中。得使用多线程了。
你想想,毕老师演示的时候是用两个java文件分别运行Send Rece 的,两个DOS命令窗口
要想放在同个java文件中,就使用多线程。
像这样子:
class Send implements Runnable{}
class Rece implements Runnable{}
Main{
new Thread.start();
new Thread.start();
}
思路大概这样,什么参数的自己注意
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2