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");