0

我有一个列表,其中包含我试图发送到我的服务器的大量消息。这是我的代码:

    private void sendBtn_Click(object sender, EventArgs e)
    {
        for (int i = 0; i < listORequestedCommands.Items.Count; i++)
        {
            clientSock.Send(Encoding.Default.GetBytes(listORequestedCommands.Items[i].ToString()));
        }
        removeAll_Click(sender, e);
        sendBtn.Enabled = false;
    }

但是,当我单击发送按钮时,我看到服务器收到一条消息,其中包含所有连接的列表项,而不是接收分开的消息。

有任何想法吗?

4

2 回答 2

1

实现一个协议。TCP 套接字是基于流的,而不是基于消息的。

于 2013-01-31T09:59:51.047 回答
0

您应该等待确认,因为您不等待字节被收集并显示为合并结果。将数据发送到套接字后,您应该使用类似的代码

int bytesRec = clientSock.Receive(bytes);

按照这个 URL http://msdn.microsoft.com/en-us/library/bew39x2a.aspx

于 2013-01-31T10:08:45.947 回答