-1

我想创建一个程序来将数据从 1 个 TCP 套接字转发到另一个,反之亦然。两个不同的程序连接到我的服务器并希望通过我的服务器进行通信。

实际上我想通过我的服务器连接两个游戏。所以我想创建一个服务器,它看起来对游戏玩家来说是透明的,它只会将来自一侧的任何东西转发到另一侧。

4

1 回答 1

0

你没有说你的问题是什么,但我会猜测一下。您将内容读入缓冲区,如果您获得任何内容,则将整个缓冲区写入输出流。您应该只写入实际读取的字节数。

byte[] b = new byte[BUFSIZE];
int chunkSize;
while(true) {
  try {
    while( (chunkSize = is.read(b)) != -1) {
      os.write(b, 0, chunkSize);
      os.flush();
    }
  } catch (IOException ex) {
    Logger.getLogger(socketProducer.class.getName()).log(Level.SEVERE, null, ex);
  }
}
于 2012-12-21T12:03:34.443 回答