我对C#不是很熟练,但是我正在使用它来做作业。 我创建了一个函数来发送连接到服务器的其他客户端的客户名单套接字发送客户列表
private void SendListToClients()
{
Socket userSocket=null;
string username = null;
string role = null;
foreach (User Users in UserList)
{
userSocket = Users.getSocket();
username = Users.getUsername();
role = Users.getRole();
userSocket.Send(Encoding.ASCII.GetBytes("!ListStart\n"));
for(int i=0;i<UserList.Count;i++)
{
User UsersControl = (User)UserList[i];
string roleU = UsersControl.getRole();
string usernameU = UsersControl.getUsername();
userSocket.Send(Encoding.ASCII.GetBytes("!ClientList:"+usernameU + ":" + roleU+"\n"));
}
}
}
我的问题是在该行userSocket.Send(),当我收到这在客户端我不接收(例如列表中的用户为5)例如5发送,但1发送所有5个用户。 我该如何解决这个问题? 否则有可能发送我的对象(UserList)通过套接字输入?
您使用的是什么协议,是TCP? –
是的,我使用Tcp – Francesco