我写了一个服务器 - 客户端聊天程序,它允许您在同一网络中的两台计算机之间发送消息。现在我试着让计算机处于不同的网络中。我已经将我的路由器配置为使用cetain端口转发请求到我的电脑。我猜客户端电脑也需要这样做? 要连接客户端,我使用以下代码:
static Socket smtpSocket = null;
smtpSocket = new Socket();
smtpSocket.connect(new InetSocketAddress("-Server IP-", Port));
服务器:
echoServer = new ServerSocket();
echoServer.bind(new InetSocketAddress("-Server IP", Port));
发送/接收数据我在两边使用PrintStream / DataInput流:
is = new DataInputStream(clientSocket.getInputStream());
os = new PrintStream(clientSocket.getOutputStream());
但没有任何反应。 我是否必须配置PrintStreams才能将数据发送到特定的计算机?