java socket 绑定网卡_java – MulticastSocket构造函数和绑定到端口或SocketAddress

我可能对绑定这个术语有一个基本的误解,但我对

MulticastSocket及其构造函数的使用感到困惑.他们不会做我理解他们应该做的事应该这样做,任何能帮助我清除我的误解的人都会受到赞赏.

首先是我想要实现的目标.我曾尝试编写一个简短的程序,创建MulticastSocket在特定的网络适配器上绑定它(即监听),然后加入特定的多播组.我已经尝试了以下(客户端)代码,该代码工作正常,我可以在没有多播套接字超时的情况下组播数据包.

public class Main {

public static final int DEFAULT_MULTICAST_PORT = 5555;

public static final String multicastGroup = "225.4.5.6";

public static final String adapterName = "eth0";

public static final int MAX_PACKET_SIZE = 65507;

CharBuffer charBuffer = null;

Charset charset = Charset.defaultCharset();

CharsetDecoder decoder = charset.newDecoder();

static ByteBuffer message = ByteBuffer.allocateDirect(MAX_PACKET_SIZE);

static boolean loop = true;

static byte[] buffer = new byte[MAX_PACKET_SIZE];

public static void main(String[] args) {

try {

//MulticastSocket mSocket = new MulticastSocket(new InetSocketAddress("192.168.2.23", DEFAULT_MULTICAST_PORT));

MulticastSocket mSocket = new MulticastSocket(DEFAULT_MULTICAST_PORT);

mSocket.setReuseAddress(true);

mSocket.setSoTimeout(5000);

NetworkInterface nic = NetworkInterface.getByName(adapterName);

mSocket.joinGroup(new InetSocketAddress(multicastGroup, DEFAULT_MULTICAST_POR

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值