【发布时间】:2021-02-21 08:17:20
【问题描述】:
我假设我不知道 python。这个脚本通过局域网发送一个简单的字符串到一个局域网地址(从我的电脑到python服务器)
-------------------------------------------------------
import socket
#
host ="192.168.0.17"
port =49280
#
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect((host,port))
#
s.sendall("set MIXER:Current/InCh/Fader/On 1 0 1\n".encode())
s.recv(1500)
s.close
-----------------------------------------------
我想发送相同的字符串,但使用 vb6....
--------------------------------------------
Private Sub Command3_Click()
Winsock1.RemoteHost = "192.168.0.17"
Winsock1.RemotePort = 49280
Winsock1.Protocol = sckTCPProtocol
Winsock1.Connect
winsock1
Dim stringa1, stringa As String
Dim Data() As Byte
stringa = "set MIXER:Current/InCh/Fader/On 1 0 1\n"
Data = StrConv(stringa, vbFromUnicode)
Winsock1.SendData Data
End Sub
----------------------------------------------
但不幸的是它不起作用。 使用第一个脚本,我的远程 python 服务器正确响应,使用 vb6 中的脚本服务器没有生命迹象 谁能告诉我我犯了什么错误?感谢所有和良好的延续 马里奥
【问题讨论】:
-
VB6 不是脚本语言。如果要发送 ANSI 字符,可以跳过字节数组和显式转换,只需发送字符串数据。您没有代码等待和接受返回的响应数据。无论如何,变体
stringa1是什么?但是您的核心问题可能是愚蠢地使用 C 语法来尝试转义换行符。 -
嗨,Bob,“string1”只是原始脚本中包含的一个变量,具有与发送数据无关的其他用途。它仍然是书面的,但不需要为此目的。我已经尝试过先简单地发送字符串,但它不起作用......
-
如果下面的答案解决了您的问题,请接受 - 请参阅What should I do when someone answers my question?