Basic4android与VB6之间的通信

Basic4android与VB6之间的通信,vb6,basic4android,Vb6,Basic4android,我想要一个简单的答案,关于如何按下Android上的按钮(使用basic4android),并获得一个VB6程序来接受数据和响应。Android和运行VB6程序的计算机都连接到同一个WiFi 埃雷尔给了我一个URL,但读了几个小时后,我似乎找不到一个简单的Android代码和VB6代码示例。我不知道基本的Android,但计算机上的一个简单VB6项目可以如下所示: '1 form with : ' 1 textbox : name=Text1 ' 1 winsock control : na

我想要一个简单的答案,关于如何按下Android上的按钮(使用basic4android),并获得一个VB6程序来接受数据和响应。Android和运行VB6程序的计算机都连接到同一个WiFi


埃雷尔给了我一个URL,但读了几个小时后,我似乎找不到一个简单的Android代码和VB6代码示例。

我不知道基本的Android,但计算机上的一个简单VB6项目可以如下所示:

'1 form with :
'  1 textbox : name=Text1
'  1 winsock control : name=Winsock1

Option Explicit

Private Sub Form_Load()
  Text1.Move 0, 0, ScaleWidth, ScaleHeight 'position the textbox
  With Winsock1
    .LocalPort = 5001                      'set the port to listen on
    .Listen                                'start listening
  End With 'Winsock1
End Sub

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
  With Winsock1
    If .State <> sckClosed Then .Close     'close the port when not closed (you could also use another winsock control to accept the connection)
    .Accept requestID                      'accept the connection request
  End With 'Winsock1
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
  Dim strData As String
  Winsock1.GetData strData                 'get the data
  ProcessData strData                      'process the data
End Sub

Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
  MsgBox Description, vbCritical, "Error " & CStr(Number)
End Sub

Private Sub ProcessData(strData As String)
  Text1.SelText = strData                  'show the data
End Sub
'1带有以下内容的表单:
'1 textbox:name=Text1
'1 winsock控件:名称=Winsock1
选项显式
专用子表单_加载()
Text1.移动0,0,缩放宽度,缩放高度'定位文本框
使用Winsock1
.LocalPort=5001'设置要侦听的端口
.听,开始听
以“Winsock1”结尾
端接头
私有子Winsock1_ConnectionRequest(ByVal requestID尽可能长)
使用Winsock1
如果.State sckClosed Then.Close“未关闭时关闭端口(您也可以使用另一个winsock控件接受连接)
.Accept requestID“接受连接请求”
以“Winsock1”结尾
端接头
私有子Winsock1_数据到达(ByVal ByTestTotal长度)
将strData设置为字符串
Winsock1.GetData strData'获取数据
ProcessData strData’处理数据
端接头
私有子Winsock1_错误(ByVal编号为整数,描述为字符串,ByVal Scode为长,ByVal源为字符串,ByVal HelpFile为字符串,ByVal HelpContext为长,CancelDisplay为布尔)
MsgBox说明、vbCritical、“错误”和CStr(编号)
端接头
私有子进程数据(strData作为字符串)
Text1.SelText=strData'显示数据
端接头
一些评论:

此项目使用侦听winsock控件接受连接,因此在此之后,您不再侦听新的连接请求。
当您计划发送大块数据时,您可能应该缓冲数据,并在数据完成后进行处理。

我不知道基本的Android,但计算机上的简单VB6项目如下所示:

'1 form with :
'  1 textbox : name=Text1
'  1 winsock control : name=Winsock1

Option Explicit

Private Sub Form_Load()
  Text1.Move 0, 0, ScaleWidth, ScaleHeight 'position the textbox
  With Winsock1
    .LocalPort = 5001                      'set the port to listen on
    .Listen                                'start listening
  End With 'Winsock1
End Sub

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
  With Winsock1
    If .State <> sckClosed Then .Close     'close the port when not closed (you could also use another winsock control to accept the connection)
    .Accept requestID                      'accept the connection request
  End With 'Winsock1
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
  Dim strData As String
  Winsock1.GetData strData                 'get the data
  ProcessData strData                      'process the data
End Sub

Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
  MsgBox Description, vbCritical, "Error " & CStr(Number)
End Sub

Private Sub ProcessData(strData As String)
  Text1.SelText = strData                  'show the data
End Sub
'1带有以下内容的表单:
'1 textbox:name=Text1
'1 winsock控件:名称=Winsock1
选项显式
专用子表单_加载()
Text1.移动0,0,缩放宽度,缩放高度'定位文本框
使用Winsock1
.LocalPort=5001'设置要侦听的端口
.听,开始听
以“Winsock1”结尾
端接头
私有子Winsock1_ConnectionRequest(ByVal requestID尽可能长)
使用Winsock1
如果.State sckClosed Then.Close“未关闭时关闭端口(您也可以使用另一个winsock控件接受连接)
.Accept requestID“接受连接请求”
以“Winsock1”结尾
端接头
私有子Winsock1_数据到达(ByVal ByTestTotal长度)
将strData设置为字符串
Winsock1.GetData strData'获取数据
ProcessData strData’处理数据
端接头
私有子Winsock1_错误(ByVal编号为整数,描述为字符串,ByVal Scode为长,ByVal源为字符串,ByVal HelpFile为字符串,ByVal HelpContext为长,CancelDisplay为布尔)
MsgBox说明、vbCritical、“错误”和CStr(编号)
端接头
私有子进程数据(strData作为字符串)
Text1.SelText=strData'显示数据
端接头
一些评论:

此项目使用侦听winsock控件接受连接,因此在此之后,您不再侦听新的连接请求。
当您计划发送大块数据时,您可能应该缓冲数据,并在数据完成后进行处理。

在VB6端,通过一个COM端口使用MSComm control串行通信。OnCMM将捕获接收事件。蓝牙转换器可以连接到端口以处理无线通信。


在B4A端,使用串行库使用RFCOMM(虚拟串行COM端口)与蓝牙设备连接

在VB6端,通过一个COM端口使用MSComm控制串行通信。OnCMM将捕获接收事件。蓝牙转换器可以连接到端口以处理无线通信。


在B4A端,使用串行库使用RFCOMM(虚拟串行COM端口)与蓝牙设备连接

提供了两个示例。一个(NetworkExample1)显示客户端应用程序;另一个(NetworkExample2)显示了一个服务器应用程序。这将为您提供Android的两部分代码。在StackOverflow中搜索用于TCP/IP通信的VB6代码,您应该可以找到大量用于该端的示例代码。一个(NetworkExample1)显示客户端应用程序;另一个(NetworkExample2)显示了一个服务器应用程序。这将为您提供Android的两部分代码。在StackOverflow中搜索用于TCP/IP通信的VB6代码,您应该可以找到大量用于该端的示例代码。非常感谢。似乎我还缺少很多细节,因为我已经在Basic4Android上花了几天的时间,我甚至还没有接近一个简单的任务。我发现stackoverflow上的人很有帮助,有基本Android的人。好吧,让我总结一下,给那里的人们发5条信息。没有回应。@DanClark:你能发布到目前为止你在basic4android上的代码吗?你得到了什么结果?我总是从机器人那里得到这个信息“这些不是你想要的机器人。”对不起,不同的情况。这是我从运行B4A软件的droid得到的消息“服务器不可用”。代码不适合这里,我必须把它压缩并发送到你的电子邮件。谢谢非常感谢。似乎我还缺少更多的细节,因为我已经在Basic4Android上花了几天的时间,我甚至还不知道该怎么做(我认为应该怎么做)