【发布时间】:2014-09-13 17:34:48
【问题描述】:
我一直在构建聊天客户端服务器/客户端应用程序。除了一件事我似乎无法弄清楚之外,我已经让大多数事情都运作良好。当客户端尝试连接到服务器时,我希望服务器检查列表框以查看用户是否存在。如果用户不存在,则照常进行,但如果确实存在,则将数据包或其他内容发送回该客户端,仅说明用户名已被使用,请选择另一个。
我想到了几种方法,但不确定它们是否是最好的方法。
在单独的端口上创建第二个 Winsock 控件让客户端连接到该端口首先检查用户名,然后连接到另一个端口以加入聊天。我可以看到这种方法的唯一问题是,如果多个人同时连接到这个 Winsock,我仍然会遇到与使用原始 Winsock 相同的问题。
使用当前请求连接的索引号和另一个保存用户名的索引号创建变量。检查用户列表后,使用变量来识别客户端并将数据仅发送到该客户端。
我是 Winsock 编程的新手,所以这可能很容易,但我却把它变得非常困难。我需要一些见解,也许一些例子会很好。
【问题讨论】: