将消息发送到选定的Ips

时间:2009-06-25 05:00:24

标签: c# ip-address

我有一个ip地址数组,其中包含一组IP地址,该地址将从服务器传递。示例:有5个客户端。这5个中的4个IP地址将存储在ip地址数组中。其余的一个将在从服务器发送消息时被阻止。怎么做。我的发送消息代码如下所示。

private void buttonSendMsg_Click(object sender, EventArgs e)
    {

        try
        {

                Object objData = richTextBoxSendMsg.Text;
                byData = System.Text.ASCIIEncoding.ASCII.GetBytes(objData.ToString());
                for (int i = 0; i < m_clientCount; i++)
                {
                    if (m_workerSocket[i] != null)
                    {
                        if (m_workerSocket[i].Connected)
                        {

                            m_workerSocket[i].Send(byData);

                        }
                    }
                }
            }


        catch (SocketException se)
        {
            MessageBox.Show(se.Message);
        }
    }

1 个答案:

答案 0 :(得分:0)

尝试实现n + 1大小的数组,其中n是客户端IP地址的编号。将数组中的位置保留为“被阻止”的客户端(最好是第一个或最后一个索引)。所以,你的代码最终会是这样的:

if (m_workerSocket[i].Connected)
{
    clientIp[0] = m_workerSocket[i]; //index 0 is the blocked client
    clientIp[indexOf(m_workerSocket[i])] = null;
    m_workerSocket[i].Send(byData);

}

在此之后,还原您的clientIp数组状态,将mWorkerSocket[i]的值设置为原始位置,将null设置为位置0.您将需要一种不断检查的方法这个数组是为了阻止客户端在索引0时以某种方式发送数据。