我正在使用C#多线程套接字程序。用于连接客户端代码:C#多客户端 - 发送昵称以及IP和端口号
c.Connect(ipText.Text, port); // Can I add nickName here? probably not?
thrReceive = new Thread(new ThreadStart(Receive)); //Receive -> accepts buffers from server
thrReceive.Start();
在我开始的问题,什么我想要做一个快速浏览: 所有数据发送由客户应直接向所有其他客户端,但没有寄件人,所以每次客户端发送数据时,程序都应该遍历客户端列表并发送数据。
我一直在努力与端口和IP一起,我想发送一个昵称到服务器。之后,服务器将检查昵称是否唯一。否则,它将拒绝连接。
我想到了一个简单的解决方案,其中客户端发送昵称与它发送的句子,所以这是建立与服务器连接后。服务器保存一个结构列表,可以说结构被称为“参数”。 “参数”由3个变量组成:1)套接字2)bool first = true 3)字符串nick
每当建立新连接时,将创建一个新的“param”,启动“first”为true,“nick”清空字符串,当然还有套接字到客户端。并且第一次同一套接字通过缓冲区发送数据时,我将提取它的昵称,将“first”设置为false并检查其唯一性(如果不唯一),然后断开套接字并删除相关条目。
我相信上面的解决方案不是一个好的解决方案,实际上没什么好的:)我应该有一些正确的方法,我想。
连接后需要发送数据包到服务器。服务器必须接受才能向其发送数据。发送类似Auth的数据包样式,然后让服务器以yes或no(同样以您的数据包样式)响应并将其从服务器中踢出(如果inavlid –
WebFreak001
2014-11-14 14:31:52