2011-07-13 48 views
1

我对java很新,我目前正在尝试套接字和缓冲区。从本地机器连接到ServerSocket

我想尝试的只是从一个本地java应用程序和另一个本地java应用程序实例化连接。我正在使用ServerSocket和套接字。

服务器应用程序有一个用于监听连接螺纹:

public void run() { 

    try{ 

     ServerSocket serverSock = new ServerSocket(62666); 

     while(doRun){ 

      Socket sock = serverSock.accept(); 
      BufferedReader reader = new BufferedReader(new InputStreamReader(sock.getInputStream())); 

      InfoReader.gui.writeToTextArea(reader.readLine() + "\n"); 



      reader.close(); 

     } 
    }catch(IOException e){ 
     e.printStackTrace(); 
    } 

} 

的“客户”只需发送一个字符串到服务器(以及它应该,但我不能使其工作):

try{ 
     Socket sock = new Socket("127.0.0.1",62666); 
     PrintWriter writer = new PrintWriter(sock.getOutputStream()); 
     writer.print("Connection works!"); 
    }catch(IOException e){ 
     e.printStackTrace(); 
    } 

我确定端口已打开并已转发到本地计算机。我检查过http://canyouseeme.org/

我也尝试使用我的外部IP地址作为客户端中的套接字的IP。它也没有工作。

任何帮助赞赏:)。

Mike。

+0

有没有例外推出?乍一看,代码看起来不错。 – SJuan76

+3

也许添加一个刷新()和关闭()的作家... – SJuan76

+0

冲洗()是所有需要的-..- ..谢谢:D –

回答

1

确定,然后作为一个答案,所以你可以关闭的问题;-)

添加的flush()和close()来的作家。

希望有所帮助。 :-)