Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
VB.NET-Winsock GetData方法_Vb.net_Visual Studio_Winsock - Fatal编程技术网

VB.NET-Winsock GetData方法

VB.NET-Winsock GetData方法,vb.net,visual-studio,winsock,Vb.net,Visual Studio,Winsock,我在vb.net应用程序中导入了Winsock功能,因此我可以制作一个聊天系统。我的程序有一个小问题。在我的程序的GetData方法中 客户端: *Dim strData As String* AxWinsock1.GetData(strData, vbString) TextBox1.Text = TextBox1.Text & _ strData & vbCrLf 它将在整个第一行下划线,除非在中有一个maxLen作为对象。所以我什么也没插,因为我

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

客户端:

*Dim strData As String*

    AxWinsock1.GetData(strData, vbString)
    TextBox1.Text = TextBox1.Text & _
    strData & vbCrLf
它将在整个第一行下划线,除非在中有一个maxLen作为对象。所以我什么也没插,因为我认为它是可选的。现在,当我调试并从服务器发送消息时,它不会显示任何内容。我将vbByte作为maxLen对象输入,现在它只显示部分消息。谁能告诉我怎么解决这个问题吗。这在VB6中工作

PS:我不打算使用VB.NET的System.Namespaces功能,因为我发现Winsock功能更容易使用


谢谢

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

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

编辑:

我不知道上限是多少,但是你可以试试
Integer.MaxValue
,或者一些任意的大值,比如1000000

看着,我注意到两件事:

  • maxLen应该是可选的,我不知道当你没有指定它时为什么它会标记一个错误,它是什么类型的错误

  • 有人提到,在DataArrival事件中使用GetData是很常见的,这是您的情况吗?如果是,您可以将
    totalBytes
    参数作为maxLen传递


  • 如果我想要比这个更大的东西呢?同样,出于某种原因,我可以将byte.maxvalue作为maxlen对象。我可以做byte.long,但在发送给客户端时,这会分隔我的句子。我在编辑中回答了你的问题,但我不知道什么是byte.long??