小编use*_*602的帖子

Java Socket,绑定到本地端口

我试图将客户端上的Socket绑定到任何特定的本地端口,在此代码中我使用了20000.

正常连接如下面的工作正常.但是不允许我选择本地端口.

hostSocket = new Socket(host,80);
Run Code Online (Sandbox Code Playgroud)

所以我尝试了这个:

hostSocket = new Socket(host, 80, InetAddress.getLocalHost(), 20000);
Run Code Online (Sandbox Code Playgroud)

还有这个:

hostSocket = new Socket();
hostSocket.bind(new InetSocketAddress("localhost", 20000));
hostSocket.connect(new InetSocketAddress(host,80));
Run Code Online (Sandbox Code Playgroud)

但他们都给我留下了这个例外......在第二种情况下,连接调用发生了异常.我不太确定我缺少什么,我会喜欢一些指针.

java.net.SocketException: Invalid argument or cannot assign requested address
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:327)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:193)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:180)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:384)
at java.net.Socket.connect(Socket.java:546)
at java.net.Socket.connect(Socket.java:495)
at com.mb.proxy.netflix.NetflixPrefetchingAgent.connect(NetflixPrefetchingAgent.java:98)
at com.mb.proxy.netflix.NetflixPrefetchingAgent.run(NetflixPrefetchingAgent.java:164)
at java.lang.Thread.run(Thread.java:679)
Exception in thread "Thread-19" java.lang.NullPointerException
at com.mb.proxy.netflix.NetflixPrefetchingAgent.prefetchChunk(NetflixPrefetchingAgent.java:272)
at com.mb.proxy.netflix.NetflixPrefetchingAgent.run(NetflixPrefetchingAgent.java:176)
at java.lang.Thread.run(Thread.java:679)
Run Code Online (Sandbox Code Playgroud)

java sockets port client socketexception

10
推荐指数
1
解决办法
3万
查看次数

标签 统计

client ×1

java ×1

port ×1

socketexception ×1

sockets ×1