问题描述
我开发了一个 TCP 客户端应用程序并尝试连接到接受来自不同 IP 的客户端请求的服务器 我已经向我的 NIC 添加了大约 40 个 IP 地址并尝试以这种方式绑定
SSLSocketFactory.createSocket(host,port,InetAddress.getByName(srcIP),clientport)
问题是套接字是为 10 个 IP 地址创建的,并且能够向/从服务器/客户端传输数据如果我使用不同的 IP 地址运行超过 10 次,它会引发以下错误
Exception java.net.BindException: Cannot assign requested address: JVM_Bind
Exception java.net.BindException: Cannot assign requested address: JVM_Bind
java.net.BindException: Cannot assign requested address: JVM_Bind
at java.net.DualStackPlainSocketImpl.bind0(Native Method)
at java.net.DualStackPlainSocketImpl.socketBind(UnkNown Source)
at java.net.AbstractPlainSocketImpl.bind(UnkNown Source)
at java.net.PlainSocketImpl.bind(UnkNown Source)
at java.net.socket.bind(UnkNown Source)
at sun.security.ssl.BaseSSLSocketImpl.bind(UnkNown Source)
at sun.security.ssl.SSLSocketImpl.bind(UnkNown Source)
at sun.security.ssl.SSLSocketImpl.<init>(UnkNown Source)
at sun.security.ssl.SSLSocketFactoryImpl.createSocket(UnkNown Source)
at com.nwb.test.client.Connect.setTLSConnection(Connect.java:32)
at com.nwb.tlstest.ConnectConnex.converseConnex(ConnectConnex.java:189)
at com.nwb.tlstest.ConnectConnex.connectConnex(ConnectConnex.java:150)
at com.nwb.testclient.TLSTest11.call(TLSTest11.java:13)
at com.nwb.testclient.TLSTest11.call(TLSTest11.java:1)
at java.util.concurrent.FutureTask.run(UnkNown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(UnkNown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(UnkNown Source)
at java.lang.Thread.run(UnkNown Source)
PS:我所有的IP地址都添加到网卡中,并且只有在尝试运行超过10次没有创建套接字时才单独工作。
这是我的 JVM 中的限制还是任何网络问题
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)