问题描述
我假设我不知道 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 中的脚本,服务器没有任何生命迹象 谁能告诉我我犯了什么错误?感谢所有人和良好的延续 马里奥
解决方法
基于此表:
https://www.quackit.com/python/reference/python_3_escape_sequences.cfm
Python 中的 \n
是换行符。所以在 VB6 中,这将是 vbLf
。
因此尝试将您的行更改为:
stringa = "set MIXER:Current/InCh/Fader/On 1 0 1" & vbLf