我在我的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功能更容易。
由于
答案 0 :(得分:0)
vbByte是一个值为17的常量,因此实际发送的最大长度为17; - )
您需要发送一个更大的数字作为最大长度。如果要作为最大长度发送的是字节数据类型的上限,则可以发送Byte.MaxValue
(即255)。
修改强>
我不知道上限是什么,但你可以尝试Integer.MaxValue
,或者像1000000这样的任意大值......
看the documentation,我发现了两件事:
maxLen应该是可选的,我不知道为什么它会在你没有指定错误时标记错误,它会出现什么样的错误?
提到将GetData与DataArrival事件一起使用是常见的,那是你的情况吗?如果是,您可以将totalBytes
参数作为maxLen传递。