ios udpsocket 怎么一直监听端口
1个回答
2016-03-13 · 百度知道合伙人官方认证企业
育知同创教育
1【专注:Python+人工智能|Java大数据|HTML5培训】 2【免费提供名师直播课堂、公开课及视频教程】 3【地址:北京市昌平区三旗百汇物美大卖场2层,微信公众号:yuzhitc】
向TA提问
关注
展开全部
package yhb;
import java.io.IOException;
import java.net.*;
/*不知道是客户端还是服务器端所以在MAIN方法里只是起了一个处理UDP线程
* */
public class CSDNudp {
public static void main(String[] args)
{
new Thread(new UDPThread()).start();
}
}
class UDPThread implements Runnable {
byte[] buf = new byte[1024];
private int UDP_PORT=9999;
public void run() {
DatagramSocket ds = null;
try {
ds = new DatagramSocket(UDP_PORT);
} catch (BindException e) {
System.out.println("UDP端口使用中...请重关闭程序启服务器");
} catch (SocketException e) {
e.printStackTrace();
}
/*用这个来处理循环接收数据包比较合理,服务器接收数据包一般都是转发至客户端,而客户端接收数据包一般处理后再发送到服务器,很复杂。不会
close()掉,下面只是简单的System.out.println("收到数据包!")*/
while (ds != null) {
DatagramPacket dp = new DatagramPacket(buf, buf.length);
try {
ds.receive(dp);
System.out.println("收到数据包!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
import java.io.IOException;
import java.net.*;
/*不知道是客户端还是服务器端所以在MAIN方法里只是起了一个处理UDP线程
* */
public class CSDNudp {
public static void main(String[] args)
{
new Thread(new UDPThread()).start();
}
}
class UDPThread implements Runnable {
byte[] buf = new byte[1024];
private int UDP_PORT=9999;
public void run() {
DatagramSocket ds = null;
try {
ds = new DatagramSocket(UDP_PORT);
} catch (BindException e) {
System.out.println("UDP端口使用中...请重关闭程序启服务器");
} catch (SocketException e) {
e.printStackTrace();
}
/*用这个来处理循环接收数据包比较合理,服务器接收数据包一般都是转发至客户端,而客户端接收数据包一般处理后再发送到服务器,很复杂。不会
close()掉,下面只是简单的System.out.println("收到数据包!")*/
while (ds != null) {
DatagramPacket dp = new DatagramPacket(buf, buf.length);
try {
ds.receive(dp);
System.out.println("收到数据包!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询