我想在java中为入站和出站连接使用相同的端口
目的是在分布式环境中创建节点.但在Tcp中,我需要使用两个不同的端口来接受和启动连接.
// accept incoming connection on one port
ServerSocket.accept()
// connect to remote, the port used will be different from the one used for accepting
Socket.connect()
Run Code Online (Sandbox Code Playgroud)
现在的问题是:
Socket.connect())时,A和B将保持套接字打开以便将来传递消息.Socket()没有accept()方法的实例绑定的当然,A可以通知B关于它正在收听的端口,但是没有直接的方法吗?
我怎样才能通过这个测试?
import org.junit.Test;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.DatagramSocket;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
public class DualSocketTest {
ExecutorService service= Executors.newFixedThreadPool(10);
int echoServerport=8080;
int localServerport=8090;
@Test
public void testConnectivity() throws IOException {
// create a …Run Code Online (Sandbox Code Playgroud)