如何制作脚本vb.net websocket客户端



我如何在vb.net中创建一个程序来连接到我的树莓派上的websocket服务器。这是为了让我可以发送在python-websocket服务器中预先编码的命令,如果有人可以向我发送代码,将"切换"发送到192.168.0.9:8283上的websocket server,那么这就是我所需要的全部。我已经尝试使用谷歌中的一些代码

Imports WMPLib
Imports WebSocket4Net

Public Class Alerter
    Dim Type As String
    Dim ran As String = "NO"
    Dim mp3player As New MediaPlayer.MediaPlayer
    Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
        If Not mp3player.PlayState = MediaPlayer.MPPlayStateConstants.mpPlaying Then
            mp3player.Open("C:UsersAndrewDownloadsAlarm.mp3")
        End If
        If Me.Opacity = 1.0 Then
            Type = "Back"
            If ran = "NO" Then
            End If
            ran = "NO"
        ElseIf Me.Opacity = 0.0 Then
            Type = "Foward"
            If ran = "YES" Then
            End If
        End If
        If Type = "Back" Then
            Me.Opacity = Me.Opacity - 0.1
        Else
            Me.Opacity = Me.Opacity + 0.1
        End If
    End Sub
    Private Sub Timer2_Tick(sender As Object, e As EventArgs) Handles Timer2.Tick
    End Sub


    Public Async Function ShowAlert(skypename As String) As Task
        Label1.Text = skypename
        Label1.Left = (My.Computer.Screen.Bounds.Width - Label1.Width) / 2
        Label2.Left = (My.Computer.Screen.Bounds.Width - Label2.Width) / 2
        Label3.Left = (My.Computer.Screen.Bounds.Width - Label3.Width) / 2
        Label4.Left = (My.Computer.Screen.Bounds.Width - Label4.Width) / 2

        Label2.Top = (My.Computer.Screen.Bounds.Height - Label2.Height) / 2
        Label1.Top = ((My.Computer.Screen.Bounds.Height - Label1.Height) / 2) - Label2.Height - 20
        Label3.Top = ((My.Computer.Screen.Bounds.Height - Label3.Height) / 2) + Label2.Height + 20
        Label4.Top = ((My.Computer.Screen.Bounds.Height - Label4.Height) / 2) + Label2.Height + Label3.Height + 20
        Me.Show()
        Timer1.Start()
        If (Form1.CheckBox1.Checked) Then
            Timer3.Start()
        End If
        Cheacker.Start()
        mp3player.Open("C:UsersAndrewDownloadsAlarm.mp3")
    End Function
    Private Sub Alerter_MouseClick(sender As Object, e As MouseEventArgs) Handles MyBase.Click
        mp3player.Stop()
        Timer3.Stop()
        Me.Close()
    End Sub
    Private Sub Cheacker_Tick(sender As Object, e As EventArgs) Handles Cheacker.Tick
        Dim newValue As Integer = Label4.Text - 1
        If (newValue = 0) Then
            Label4.Text = newValue
            Cheacker.Interval = 500
            sendAFK()
        ElseIf newValue < 0 Then
            If Label4.Visible = True Then
                Label4.Visible = False
            Else
                Label4.Visible = True
            End If
        Else
            Label4.Text = newValue
        End If
    End Sub
    Private Sub sendAFK()
        Cheacker.Stop()
        Dim skypename As String = Form1.TextBox1.Text
        Form1.oSkype.SendMessage(skypename, "Hello Andrew Currently Had On on A Alert List And He Curremtly Has A Siren Running And His Screen Has Been Nulled To Red With A Message Saying You Came Online. So Why Have You Been Sent This Automated Message? The Alert Has Been Running And He Has Not Responded At All To It So Please do Not Think His Is Ignoring You!")
        Label3.Text = "AFK Message Was Sent At"
        Dim time As String = My.Computer.Clock.LocalTime.Hour.ToString + ":" + My.Computer.Clock.LocalTime.Minute.ToString + ":" + My.Computer.Clock.LocalTime.Second.ToString
        Label4.Text = time
        Label1.Text = skypename
        Label1.Left = (My.Computer.Screen.Bounds.Width - Label1.Width) / 2
        Label2.Left = (My.Computer.Screen.Bounds.Width - Label2.Width) / 2
        Label3.Left = (My.Computer.Screen.Bounds.Width - Label3.Width) / 2
        Label4.Left = (My.Computer.Screen.Bounds.Width - Label4.Width) / 2

        Label2.Top = (My.Computer.Screen.Bounds.Height - Label2.Height) / 2
        Label1.Top = ((My.Computer.Screen.Bounds.Height - Label1.Height) / 2) - Label2.Height - 20
        Label3.Top = ((My.Computer.Screen.Bounds.Height - Label3.Height) / 2) + Label2.Height + 20
        Label4.Top = ((My.Computer.Screen.Bounds.Height - Label4.Height) / 2) + Label2.Height + Label3.Height + 20
    End Sub
    Private Sub Alerter_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    End Sub
    Private Sub Timer3_Tick(sender As Object, e As EventArgs) Handles Timer3.Tick
    End Sub
End Class

我想为每个定时器发送命令切换3个刻度

我根本不知道树莓pi的一面,但这应该适用于从VB:发送消息

Imports System.Net.Sockets
Private ClientSocket As New TcpClient
Private NetStream As NetworkStream
Private BytesToSend() As Byte = System.Text.Encoding.ASCII.GetBytes("toggle") 
'Create the socket connection - call before you start Timer3
ClientSocket.Connect("192.168.0.9", 8283)
NetStream = ClientSocket.GetStream
'This is the bit to call in Timer3_Tick
NetStream.Write(BytesToSend, 0, BytesToSend.Length)
NetStream.Flush()
'Close the connection when you're finished
NetStream.Close()
ClientSocket.Close()

相关内容

  • 没有找到相关文章

最新更新