haufeft
Goto Top

VB 2008 IF ABFRAGE SOCKET

hy und hilfe

ich habe einen server
Imports System.Net.Sockets
Imports System.Text

Public Class Form1

    Private SimpleServer As TcpListener
    Private Client As New TcpClient
    Private Stream As NetworkStream
    Dim bytes() As Byte
    Dim Bytes2() As Byte


    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        SimpleServer = New TcpListener(System.Net.IPAddress.Parse(0), 12345)

        SimpleServer.Start()

        SimpleServer.BeginAcceptTcpClient(AddressOf OnConnect, New Object)

    End Sub

    Private Sub OnConnect(ByVal ar As System.IAsyncResult)
        Client = SimpleServer.EndAcceptTcpClient(ar)
        Stream = Client.GetStream

        ReDim bytes(Client.ReceiveBufferSize)
        Stream.BeginRead(bytes, 0, CInt(Client.ReceiveBufferSize), AddressOf onGetData, New Object)
    End Sub

    Private Sub onGetData(ByVal ar As System.IAsyncResult)


        Dim s As String = "shutdown"  
        Dim clientdata As String = Encoding.ASCII.GetString(bytes)
        If clientdata = s Then
            MsgBox("rechner abschalten")  
        End If


    End Sub

End Class

darin habe ich eine if abfrage
if clientdata = s Then
also sollte clientdata den gleichen string wie s haben mache.....

wenn ich mit dem client :
Imports System.Net.Sockets
Imports System.Text

Public Class Form1

    Private SimpleClient As New TcpClient
    Private Stream As NetworkStream


    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim sendBytes As [Byte]() = Encoding.ASCII.GetBytes(textbox1.text)
        Stream.Write(sendBytes, 0, sendBytes.Length)
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        SimpleClient.Connect("192.168.25.32", 12345)  
        Stream = SimpleClient.GetStream
        TextBox2.Text = Stream.ToString
    End Sub
End Class

z.b shutdown sende passiert nix face-sad
und ich kann immer nur 1x was an den server senden,danach muss ich ihn neu starten.

danke für die hilfe

Content-Key: 92226

Url: https://administrator.de/contentid/92226

Printed on: April 18, 2024 at 22:04 o'clock

Member: Nailara
Nailara Jul 17, 2008 at 06:02:53 (UTC)
Goto Top
Hi,

ergänze mal an der Zeichenkette am Ende ein vbCRLF und sende eben ein Enter mit. Dann schau mal, ob sich beim Datenstrom die Puffergröße auf 0 setzen lässt oder ob die Möglichkeit besteht, den Puffer explizit mit einen flush() oder sowas zu leeren.

Grüße Mathias