C# 建立连接后,如何从服务器(使用连接列表)向客户端发送命令?
我有这两个类,它们是我的服务器应用程序(桌面)的一部分,需要在建立连接后将命令发送回客户端 当我尝试这样做时:C# 建立连接后,如何从服务器(使用连接列表)向客户端发送命令?,c#,visual-studio-2013,asyncsocket,C#,Visual Studio 2013,Asyncsocket,我有这两个类,它们是我的服务器应用程序(桌面)的一部分,需要在建立连接后将命令发送回客户端 当我尝试这样做时: clients[i].Send("info"); Send()例程(属于Listener.cs)是可访问的,但我有以下错误: 如何解决这个问题 Listener.cs 这种说法是不正确的。变量“i”引用Info类的实例。它不是列表中的整数索引。正确的调用如下所示 i.Send("info"); 你的意思是不是i.Send(…)i是对Info对象的引用……这里基本上回答了您的问题
clients[i].Send("info");
Send()
例程(属于Listener.cs)是可访问的,但我有以下错误:
如何解决这个问题
Listener.cs
这种说法是不正确的。变量“i”引用Info类的实例。它不是列表中的整数索引。正确的调用如下所示
i.Send("info");
你的意思是不是
i.Send(…)代码>i
是对Info
对象的引用……这里基本上回答了您的问题。
using System;
using System.Collections.Generic;
using System.Text;
using System.Net;
using System.Net.Sockets;
public class Info
{
public Socket sock;
public Guid ID;
public string RemoteAddress;
public byte[] buffer = new byte[8192];
public Info(Socket sock)
{
this.sock = sock;
ID = Guid.NewGuid();
RemoteAddress = sock.RemoteEndPoint.ToString();
}
public void Send(string data)
{
byte[] buffer = Encoding.ASCII.GetBytes(data);
sock.BeginSend(buffer, 0, buffer.Length, SocketFlags.None, new AsyncCallback((ar) =>
{
sock.EndSend(ar);
}), buffer);
}
}
clients[i].Send("info");
i.Send("info");