我一直在构建聊天客户端服务器/客户端应用程序。除了我似乎无法想象的一件事外,我得到的大部分工作都很好。当客户端尝试连接到服务器时,我希望服务器检查列表框以查看用户是否存在。如果用户不存在,请按正常方式继续,但如果确实存在,则发送一个数据包或其他东西返回给客户端,只说用户名已被占用,请选择另一个。如何在接受与Winsock控件的连接时响应特定客户端
我曾考虑过这样做的几种方法,但不知道它们是否是最好的方法。
创建一个单独的端口上的第二Winsock控件在客户端连接到该端口首先检查用户名,然后连接到另一个端口加入聊天。使用这种方法我能看到的唯一问题是,如果有多人连接到这个Winsock,我仍然使用原始的Winsock来解决同样的问题。
使用当前请求连接的索引号创建变量,另一个用于保存用户名。在检查用户列表之后,使用变量来标识客户端并仅将数据发送到该客户端。
我对Winsock编程很陌生,所以这可能是一件非常简单的事情,我非常努力。我需要一些见解,也许甚至有些例子会很好。
谢谢你的回答。我让自己变得越来越难,那么我需要自己去想。 Winsock(索引)永远是当前连接的袜子。而不是创建一个新的winsock来做检查,我只是对当前的winsock进行检查,然后将回复发回给winsock(索引)。我不知道为什么我总是在想事情。让事情更复杂,然后他们需要它。 – FrostByte 2014-09-16 17:28:12