2014-01-16 46 views
0

我正在开发一款游戏,我有一个问题。“登录和退出”套接字

我有一个客户端,用户可以登录游戏或使用存储在数据库中的唯一帐户断开连接。

如何在登出时正确关闭服务器并在登录时重新打开?或者我应该永远不要关闭插座? DataInputStream和DataOutputStream也是同样的问题。

我不断收到连接重置客户端,所以我不知道什么是在同一个客户端运行时处理日志记录/注销的最佳方式。

谢谢。 :)

+0

我已经有一个由线程管理的服务器套接字的子服务器。我正在讨论关闭连接客户端。 – user3130731

+0

类似这样的:http://pastebin.com/YhNFtpHc – user3130731

+0

@MadProgrammer TCP套接字已经是全双工的。 “同时进行双向通信”你不需要其中的两个。 – EJP

回答

1

只需关闭插座。这将终止服务器上的相应线程。一次登录应该等于一个套接字。

您应该通过关闭套接字输出流周围的最外层流或Writer来做到这一点。冲洗它并关闭其他流和套接字。在这之前关闭输入流和套接字是不正确的,之后这样做是多余的,但是如果你必须这样做,它必须在之前完成,而不是在之前完成,否则你会错过flush。