VB.NET - Winsock GetData方法

时间:2009-12-28 18:19:50

标签: vb.net visual-studio winsock

我在我的vb.net应用程序中导入了Winsock功能,因此我可以创建一个聊天系统。我的程序只有一个小问题。在我的程序的GetData方法中,

客户端:

*Dim strData As String*

    AxWinsock1.GetData(strData, vbString)
    TextBox1.Text = TextBox1.Text & _
    strData & vbCrLf

它将为整个第一行加下划线,除非将maxLen作为Object in。所以我插入了Nothing,因为我认为它是可选的。现在,当我调试,并从服务器发送消息时,它将不会显示任何内容。我将vbByte作为maxLen对象放入,现在它只显示部分消息。任何人都可以告诉我如何解决这个问题。这适用于VB6 ......

PS:我不会使用VB.NET的System.Namespaces函数,因为我发现Winsock功能更容易。

由于

1 个答案:

答案 0 :(得分:0)

vbByte是一个值为17的常量,因此实际发送的最大长度为17; - )

您需要发送一个更大的数字作为最大长度。如果要作为最大长度发送的是字节数据类型的上限,则可以发送Byte.MaxValue(即255)。

修改

我不知道上限是什么,但你可以尝试Integer.MaxValue,或者像1000000这样的任意大值......

the documentation,我发现了两件事:

  1. maxLen应该是可选的,我不知道为什么它会在你没有指定错误时标记错误,它会出现什么样的错误?

  2. 提到将GetData与DataArrival事件一起使用是常见的,那是你的情况吗?如果是,您可以将totalBytes参数作为maxLen传递。