Java Socket / P2P问题

时间:2015-02-10 19:54:08

标签: java multithreading sockets

我正在学习一类我的java套接字。我在同行之间的沟通方面遇到了问题。我的问题是为什么我收到这个例外: 异常java.net.ConnectionException:连接被拒绝:连接

例如:

在我的主线程中

    ServerSocket listenSock = new ServerSocket(Integer.parseInt(argv[2]),0,InetAddress,getByName(null));

    //Create Server loop to process inbound connections
    while(true){
        //accept an incoming client by saving it to a socket to use to communicate with it
        Socket clientSock = listenSock.accept();

        /waa/create a thread to handle the inbound client  so that we can return to accept()
        InboundHandler inboundMsg = new InboundHandler(clientSock); // listens to the peers outbound socket
        Thread inThread = new Thread(inboundMsg);
        inThread.start();
        // add the peer to the list.
    }

在一个单独的帖子中我有一个

public InboundHandler(Socket socket) throws Exception{
    this.socket = socket; //save the socket object to "this" instance of the class
    input = new BufferedReader(new InputStreamReader(socket.getInputStream())); // listens from the clients speaking socket
}
public void run(){
    while(true){
    try{
        String line = input.readLine();
        System.out.println(line);
    }catch(IOException e){
        System.out.println("Could not read input. " + e);
    }    
    }

最后我有一个发送消息的线程

for(int i=0;i<portList.size(); i++){
    if(nameList.get(i)!=Username){
        Socket peerSocket= new Socket(InetAddress.getByName(null),portList.get(i));
        writer = new BufferedWriter(new OutputStreamWriter(peerSocket.getOutputStream()));
        writer.write(Username + " has connected");
        writer.flush();
    }
    }
    }
    catch(IOException e){
    System.out.println("Some IO problem. " + e);
    }

我的程序编译,当我运行它时,我收到异常 java.net.ConnectionException:连接被拒绝:连接

听起来似乎是我的同伴试图说话的端口,其他同行没有听到。但这更令人猜测

至于while(true)我稍后会用布尔语句改变它。

0 个答案:

没有答案