BB via TCP mit VB.net verbinden [gelöst]

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

TimBo

Betreff: BB via TCP mit VB.net verbinden [gelöst]

BeitragSa, Feb 26, 2011 11:13
Antworten mit Zitat
Benutzer-Profile anzeigen
ich habe mit Sockets folgenden VB Code zusammengeschustert:
Code: [AUSKLAPPEN]
Imports System.Net.Sockets
Imports System.IO
Imports System.Threading

Public Class Form1
    Dim listener As New TcpListener(4444) ' <- Server
    Dim client As TcpClient
    Dim message As String = ""

    'Initialisierung
    Private Sub Form1_Load1(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        Dim listthread As New Thread(New ThreadStart(AddressOf listening))
        listthread.Start()
    End Sub
    Private Sub listening()
        listener.Start()
    End Sub


    'Beenden
    Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs)
        listener.Stop()
    End Sub


    'Netzwerk updaten
    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        'Prüft auf neue Verbindungen
        If listener.Pending = True Then
            client = listener.AcceptTcpClient()
            Dim v As Verbindungen = New Verbindungen(client)
            Debug.Print("-- Neue Verbindung")
        End If

        'Prüft bestehende Verbindungen
        Verbindungen.Update()
    End Sub

   
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        For Each v As Verbindungen In Verbindungen.List
            MessageBox.Show(v.client.Connected)
        Next
    End Sub
End Class

'----------------------------------------------------------------------------------------------
'----------------------------------------------------------------------------------------------
'----------------------------------------------------------------------------------------------


Public Class Verbindungen
    'Variablen
    Public client As TcpClient
    Private SpielerName
    Private Reader As StreamReader
    Private Writer As StreamWriter
    Public Shared List As New List(Of Verbindungen)

    Public Shared Sub Update()
        For Each v As Verbindungen In Verbindungen.List
            While v.Reader.Peek > -1
                Select Case v.Reader.Read
                    Case 1
                        'Servername anfragen

                    Case 2
                        'Spieler umbenennen
                        v.SpielerName = v.Reader.ReadLine()
                        Debug.Print("in " & v.SpielerName & " umgenannt")
                End Select
            End While
        Next
    End Sub

    Public Sub New(ByVal Client)
        List.Add(Me) ' Instanz zur statischen Liste hinzufügen
        Me.client = Client
        Me.Reader = New StreamReader(Me.client.GetStream())
        Me.Writer = New StreamWriter(Me.client.GetStream())
    End Sub
End Class


Wenn ich OpenTCPStream in Blitz 3D ausführe, dann hängt sich die ganze Oberfläche der VB-Form auf.

Und nein, ich möchte nicht auf VB umsteigen, sondern möchte einfach einen relativ schnellen Server schreiben.

Danke schonmal !
TimBo

Client.Avaible war das Schlüsselwort.
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group