使用 vb6 winsock 发送 python 字符串

问题描述

我假设我不知道 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