能不能用Socket类来实现广播,怎么实现发送和接收

huaton1983 2003-09-13 11:26:04
如果不能用Socket来实现,又没有其他比较简便的方法
...全文
141 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xudaorong 2003-09-15
  • 打赏
  • 举报
回复
用Socket应该可以实现
就像Iforgot(清风雨)说得检测局域网IP,得到IP和PORT后,进行交互。
通过UDP(数据报)来接受和发送。


jokerjava 2003-09-15
  • 打赏
  • 举报
回复
up
mingjob 2003-09-15
  • 打赏
  • 举报
回复
up
Iforgot 2003-09-13
  • 打赏
  • 举报
回复
为什么不用局域网探测方式呢? 不就是255个IP地址吗?
wyhgg 2003-09-13
  • 打赏
  • 举报
回复
up
Keepers 2003-09-13
  • 打赏
  • 举报
回复
public void join(String groupName, int port) {
try {
MulticastSocket msocket = new MulticastSocket(port);
group = InetAddress.getByName(groupName);
msocket.joinGroup(group);
} catch (IOException e) {
}
}


e154. Receiving from a Multicast Group
Once you've created a multicast socket and joined the group, all datagrams sent to its corresponding multicast address will be available to be read from the socket. You can read from the socket just like you would from a unicast socket.
public void read(MulticastSocket msocket, byte[] inbuf) {
try {
DatagramPacket packet = new DatagramPacket(inbuf, inbuf.length);

// Wait for packet
msocket.receive(packet);

// Data is now in inbuf
int numBytesReceived = packet.getLength();
} catch (IOException e) {
}
}

e155. Sending to a Multicast Group
You can send to a multicast socket using either a DatagramSocket or a MulticastSocket. What makes it multicast is the address that is in the datagram. If the address is a multicast address, the datagram will reach the multicast members in the group. You only need to use MulticastSocket if you want to control the time-to-live of the datagram.
byte[] outbuf = new byte[1024];
int port = 1234;
try {
DatagramSocket socket = new DatagramSocket();
InetAddress groupAddr = InetAddress.getByName("228.1.2.3");
DatagramPacket packet = new DatagramPacket(outbuf, outbuf.length, groupAddr, port);
socket.send(packet);
} catch (SocketException e) {
} catch (IOException e) {
}

JavaBoyCaoJi 2003-09-13
  • 打赏
  • 举报
回复
帮你up

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧