Hackerboard Wiki HaboBlog
Hackerboard bei Facebook Hackerboard bei Google+ Hackerboard bei Twitter

[HaBo]

 
Code Kitchen Allgemeines Coder-Forum rund um das Programmieren eigenständiger, ausführbarer Programme.

[VB.NET] Winsocks verwenden

Diskussion: [VB.NET] Winsocks verwenden im Forum Code Kitchen, in der Kategorie Software Home; Anzeige Hallo Habo Community, ich suche seit gestern abend verzweifelt nach einem Tutorial wie man Winsocks in VB .Net verwendet. ...

Antwort
Alt 20.05.07, 15:25   #1 (permalink)
 
Registriert seit: 03.01.07
Henni Leistung: Facit NTK
Henni eine Nachricht über ICQ schicken
Likes: 0
Smile [VB.NET] Winsocks verwenden

Anzeige

Hallo Habo Community,

ich suche seit gestern abend verzweifelt nach einem Tutorial wie man Winsocks in VB.Net verwendet. Leider Fand ich bei Google und hier immer nur sachen für vb 5 und 6.

Kann mir vllt. irgendeiner von euch ein Tutorial schicken bzw. mir kurz erklären wie ich Connect und Listen verwende?

mfg
Henni

Henni ist offline   Mit Zitat antworten
Alt 20.05.07, 16:04   #2 (permalink)
 
Registriert seit: 20.03.07
System.I/O Leistung: Facit NTK
System.I/O eine Nachricht über ICQ schicken
Likes: 0
Standard

Hast du das .NET Framework 2.0 SDK installiert? Wenn ja, schau dir mal die Documentation(MSDN) an, dort steht alles, mit Beispielcode, drin.
Ansonsten die Online MSDN:
System.Net.Sockets.Socket
Ich würde aber eher den TcpClient bzw TcpListener empfehlen:
System.Net.Sockets.TcpClient
System.Net.Sockets.TcpListener

MfG
System.I/O ist offline   Mit Zitat antworten
   
HaBOT
 
- Anzeige -

Werbung ist gerade online    
Alt 20.05.07, 16:07   #3 (permalink)
 
Registriert seit: 30.03.07
ByteSurfer Leistung: Facit NTK
Likes: 17
Standard

Moin Henny,

melde Dich mal hier an und surf...

http://entwickler-forum.de/forumdisplay.php?f=14

dort solltest du fündig werden, oder im form vom vb archive...

wenn dir dat nix hilft meld dich nochmal, gib dir dann ein tutorial...

Gruß Andy
ByteSurfer ist offline   Mit Zitat antworten
Alt 20.05.07, 19:49   #4 (permalink)
Themenstarter
 
Registriert seit: 03.01.07
Henni Leistung: Facit NTK
Henni eine Nachricht über ICQ schicken
Likes: 0
Standard

Ich habe es nun verstanden wie man sich Verbindet... Es hakt aber noch an einigen stellen... Habe mir mal die Posts zu "Socket(s)" Angeschaut also im Entwickler Forum und nochn bissel auf Msdn gesurft. Ich habe bis jetzt folgendes:

Server:
Code:
    Public server As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.IP)
    Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        Dim ServerIP As Net.IPAddress = Net.IPAddress.Any

        Dim LocalEndPoint As New Net.IPEndPoint(ServerIP, 26000)

        server.Bind(LocalEndPoint)
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStarten.Click
        server.Listen(2)
        lblStatus.Text = "Server gestartet"
        server.Accept()

    End Sub
Wie man erkennen kann, wird der server beim Klick auf den Button btnStarten "gestartet".

Client:
Code:
    Private Sub btnVerbinden_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVerbinden.Click

        If txtIP.Text = "" Then
            MsgBox("Bitte eine IP eingeben")
            Exit Sub
        End If
        If txtPort.Text = "" Then
            MsgBox("Bitte einen Port eingeben")
            Exit Sub
        End If
        Try
            wsckChat.Connect(txtIP.Text, txtPort.Text)
            MsgBox("Connected")

        Catch ex As Exception
            MsgBox("Fehlermeldung")
        End Try

    End Sub
Ein Textfeld mit der IP und eins mit dem Port... Dann auf den Button klicken und connecten. Wenn ich den Server laufen habe, kommt auch die meldung Connected.Was mir noch fehlt:Wie kann ich den Client annehmen mit server.Accept() wo muss ich das setzen? Wie weiß das Prog, dass ein Client versucht sich zu verbinden? Und: Wie sende ich daten?^^Dies habe ich aus keinen Quelltexten sehen können. Wenn ich das Accept() einfach hinter das Listen() hänge, hängt das Prog. bis ich mich versuche zu Connecten. mfg
Henni

ps.: Thx schonmal an euch beiden für eure Posts.
Henni ist offline   Mit Zitat antworten
Alt 21.05.07, 07:20   #5 (permalink)
 
Registriert seit: 30.03.07
ByteSurfer Leistung: Facit NTK
Likes: 17
Standard

moin moin,

da Du immer von fertigen Source Code sprichst, kann ich Dir noch einen nachschieben welcher eigentlich, wenn ich das auf die schnelle richtig gesehen habe alles beinhalten sollte. (dritter Link)

Source code für chat Programm

Ansonsten kann ich auch die MSN von Billy empfehlen.

P.S. dort steht auch alles wat du includen musst. usw...

Frohes Schaffen noch

ByteSurfer
ByteSurfer ist offline   Mit Zitat antworten
Alt 21.05.07, 16:37   #6 (permalink)
Themenstarter
 
Registriert seit: 03.01.07
Henni Leistung: Facit NTK
Henni eine Nachricht über ICQ schicken
Likes: 0
Standard

Okay.... Ich bin einfach zu Dumm... Oder mein System ist voll kacke... Naja auf jeden fall habe ich mir mal das Projekt Hier runtergeladen. Versuche es nun in mein Visual Studio 2005 Prof. Einzubauen und erstens kommt mal die Fehlermeldung dass ich irgendwie die MSWinsockLib und die AxMSWinsock nicht habe. Dann wollt ich mir die Forms anschauen und die kann ich auch net anzeigen lassen. Bitte woher bekomme ich diese Librarys? habe bei google schon gesucht aber auch nur fragen gefunden wo man des herbekommt
Henni ist offline   Mit Zitat antworten
Alt 21.05.07, 17:46   #7 (permalink)
 
Registriert seit: 30.03.07
ByteSurfer Leistung: Facit NTK
Likes: 17
Standard

moin Henni,

was ist denn los bei Dir?

Ich habe Visual Studio bei mir momentan nicht drauf.
Wenn ich jetzt MIst erzähle bitte ich das zu entschuldigen, da ich VisualStudio nicht genau vor Augen habe...

ALSO...

Du kannst jedem Projekt Verweise hinzufügen.
Wenn ich jetzt alles richtig in Erinnerung habe:
Projekte->Verweis hinzufüguen->COM oder NET->Microsoft Winsock Control oder so ähnlich.......->dann wähle es aus und drücke o.k.

oder einfach mal durchklicken und suchen irgendwo da...

Wenn ich falsch liegen sollte bitte ich andere zu ergänzen, oder zu helfen...

Ansonsten kann ich auch nur nochmal den Link
Socket MSDN
ans Herz legen.. einfach mal surfen, oder VisualStudio Foren nutzen

Sry

Gruß
ByteSurfer
ByteSurfer ist offline   Mit Zitat antworten
Alt 21.05.07, 18:59   #8 (permalink)
Themenstarter
 
Registriert seit: 03.01.07
Henni Leistung: Facit NTK
Henni eine Nachricht über ICQ schicken
Likes: 0
Standard

Das was du da schreibst ist meines wissens nach eigentlich richtig. So habe ich das schon in anderen Foren auch gelesen. Allerdings: Ich habe diesen Punkt nicht^^ Ich kann das nicht hinzufügen... Der Punkt existiert einfach net...^^

Ist das denn .Net Standart oder überhaupt Standart?^^ Oder Fehlt mir wirklich einfach nur so eine blöde Library?

mfg
Henni
Henni ist offline   Mit Zitat antworten
Alt 21.05.07, 21:06   #9 (permalink)
 
Registriert seit: 20.03.07
System.I/O Leistung: Facit NTK
System.I/O eine Nachricht über ICQ schicken
Likes: 0
Standard

Zitat:
Wie kann ich den Client annehmen mit server.Accept() wo muss ich das setzen? Wie weiß das Prog, dass ein Client versucht sich zu verbinden?
Also server.Accept() ist schon richtig aber hat einen nachteil. Hierbei handelt es sich um eine blockierende Methode,
dh. nach dem aufruf von Accept() wird solange gewartet/blockiert bis sich ein Client connected und erst dann wird der zugrundeliegnde Socket zurückgegeben.
Code:
Dim client As System.Net.Sockets.Socket = server.Accept()
Um das Problem der Blockierung und damit auch die Blockierung der GUI zu umgehen,
könnte man den Accept vorgang in einen Thread auslagern,
allerdings währe dann eine "saubere" beendung des Threads nicht mehr möglich,
da der Thread ja nun blockiert.
Genau aus diesem Grund sollte man den TcpListener bevorzugen.
Dieser bietet eine Mothode namens Pading() an, welche prüft ob eingehende Verbindungen anstehen.
Beispiel   
Code:
/* 
 * User: System.I/O
 * Date: 20.09.2006
 * Time: 18:40 
 * Version: 1.0.0
 */
using System;
using System.Net;
using System.Net.Sockets;
using System.Threading;

namespace Tcp {
	public enum AcceptTypes {Socket,TcpClient};
	
	//---------------------------------------- EventHanlder ----------------------------------------	
	public delegate void SocketAcceptedEventHandler(Socket socket);
	public delegate void TcpClientAcceptedEventHandler(TcpClient client);
	
	
	public class Server	{
		//---------------------------------------- Konstruktoren ----------------------------------------	
		public Server(IPAddress ip, int port)	{
			this.listener		= new TcpListener(ip ,port);
			this.isListening	= false;
			this.stopListening	= false;			
			this.acceptType		= AcceptTypes.TcpClient;
		}
		
		
		//---------------------------------------- Events ----------------------------------------		
		public event SocketAcceptedEventHandler SocketAcceptedEvent;
				
		private void OnSocketAcceptedEvent(Socket socket) {	    	
	        if (SocketAcceptedEvent != null) {
	    		SocketAcceptedEvent(socket);
	        }
	    }
		
		public event TcpClientAcceptedEventHandler TcpClientAcceptedEvent;
				
		private void OnTcpClientAcceptedEvent(TcpClient client) {	    	
	        if (TcpClientAcceptedEvent != null) {
	    		TcpClientAcceptedEvent(client);
	        }
	    }
		
		
		//---------------------------------------- Datenfelder ----------------------------------------					
		private bool 			isListening;				
		private bool 			stopListening;
		private AcceptTypes		acceptType;
		private TcpListener		listener;
		private Thread 			listeningThread;
		
		
		//---------------------------------------- Eigenschaften ----------------------------------------		
		public bool IsListening {
			get { return this.isListening; }
		}
		
		public AcceptTypes AcceptType {
			get { return this.acceptType; }
			set {this.acceptType = value; }
		}
		
		
		//---------------------------------------- Methoden ----------------------------------------		
		public void Start()	{		
			this.listeningThread = new Thread(ListenAsThread);			
			this.listeningThread.Start();
		}
				
		public void Stop() {		
			this.stopListening = true;
			while(this.isListening) {
				Thread.Sleep(100);
			}			
			this.stopListening = false;
		}
				
		private void ListenAsThread() {			
			this.listener.Start();
			this.isListening = true;
			while(!stopListening) {
				if(!this.listener.Pending()) {
					Thread.Sleep(100);
					continue;
				}
				try {
					if(this.acceptType == AcceptTypes.Socket)
						this.listener.BeginAcceptSocket(new AsyncCallback(AcceptSocketCallback), this.listener);
					else
						this.listener.BeginAcceptTcpClient(new AsyncCallback(AcceptTcpClientCallback), this.listener);
				}
				catch(SocketException) {}
				
			}	
			this.listener.Stop();
			this.isListening = false;
		}
		
		
		//---------------------------------------- Callbacks ----------------------------------------
		private void AcceptSocketCallback(IAsyncResult ar) {	
			try {
				TcpListener listener = (TcpListener) ar.AsyncState;
			    Socket socket = listener.EndAcceptSocket(ar);
			    OnSocketAcceptedEvent(socket);
			}
			catch(SocketException) {}
		}

		private void AcceptTcpClientCallback(IAsyncResult ar) {	
			try {
				TcpListener listener = (TcpListener) ar.AsyncState;
			    TcpClient client = listener.EndAcceptTcpClient(ar);
			    OnTcpClientAcceptedEvent(client);
			}
			catch(SocketException) {}
		}
		
	}
}

Es ist zwar C# code aber die Klassen und Methoden sind ja die selben (.NET).
ListenAsThread() und AcceptSocketCallback() könnten dir vielleicht weiter helfen.

Und hier noch ein Beispiele aus der MSDN:
TcpListener   
Code:
Imports System
Imports System.IO
Imports System.Net
Imports System.Net.Sockets
Imports System.Text
Imports Microsoft.VisualBasic


Class MyTcpListener

    Public Shared Sub Main()

	Dim server As TcpListener
	server=nothing
        Try
            ' Set the TcpListener on port 13000.
         Dim port As Int32 = 13000
         Dim localAddr As IPAddress = IPAddress.Parse("127.0.0.1")

         server = New TcpListener(localAddr, port)
         
         ' Start listening for client requests.
         server.Start()
         
         ' Buffer for reading data
            Dim bytes(1024) As Byte
            Dim data As String = Nothing
         
         ' Enter the listening loop.
         While True
            Console.Write("Waiting for a connection... ")
            
            ' Perform a blocking call to accept requests.
            ' You could also user server.AcceptSocket() here.
            Dim client As TcpClient = server.AcceptTcpClient()
            Console.WriteLine("Connected!")
            
            data = Nothing
            
            ' Get a stream object for reading and writing
            Dim stream As NetworkStream = client.GetStream()
            
            Dim i As Int32
            
            ' Loop to receive all the data sent by the client.
            i = stream.Read(bytes, 0, bytes.Length)
            While (i <> 0) 
               ' Translate data bytes to a ASCII string.
               data = System.Text.Encoding.ASCII.GetString(bytes, 0, i)
                    Console.WriteLine("Received: {0}", data)
               
               ' Process the data sent by the client.
               data = data.ToUpper()
                    Dim msg As Byte() = System.Text.Encoding.ASCII.GetBytes(data)
               
               ' Send back a response.
               stream.Write(msg, 0, msg.Length)
                    Console.WriteLine("Sent: {0}", data)
              
               i = stream.Read(bytes, 0, bytes.Length)

            End While
            
            ' Shutdown and end connection
            client.Close()
         End While
      Catch e As SocketException
         Console.WriteLine("SocketException: {0}", e)
      Finally
         server.Stop()
      End Try
      
      Console.WriteLine(ControlChars.Cr + "Hit enter to continue....")
      Console.Read()
   End Sub 'Main

End Class 'MyTcpListener

Wollen wir das ganze mal auf dein Beispiel anwenden.
server   
Code:
Public server As New System.Net.Sockets.TcpListener(System.Net.IPAddress.Any, 26000)    

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStarten.Click
        server.Start()
        lblStatus.Text = "Server gestartet"
        While (true)
             If server.Pading() Then
                  Dim client As System.Net.Sockes.TcpClient = server.AcceptTcpClient()
                  Dim netStream As System.Net.Sockets.NetworkStream = client.GetStream()
                 
                  Dim readBuffer(1024) As Byte
                  Dim message As StringBuilder = New StringBuilder()
                  Dim bytesReaded As Integer = 0
   
                  ' Incoming message may be larger than the buffer size.
                  Do
                         bytesReaded = netStream.Read(readBuffer, 0, readBuffer.Length)
                         message.AppendFormat("{0}", Encoding.ASCII.GetString(readBuffer, 0, bytesReaded))
                  Loop While netStream.DataAvailable
   
                  ' Print out the received message to the console.
                  lblStatus.Text = "You received the following message : " + message.ToString() 
                  
                  Dim writeBuffer As Byte() = Encoding.ASCII.GetBytes("hier ist der server")
                  netStream.Write(writeBuffer, 0,writeBuffer.Length)
                  netStream.Close()
                  client.Close()
                  server.Stop()
                  break;
             Else
                  System.Threading.Thread.Sleep(10)                    
             End If     
        End While
    End Sub

client   
Code:
Private Sub btnVerbinden_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVerbinden.Click

        If txtIP.Text = "" Then
            MsgBox("Bitte eine IP eingeben")
            Exit Sub
        End If
        If txtPort.Text = "" Then
            MsgBox("Bitte einen Port eingeben")
            Exit Sub
        End If
        Try
            'Uses the IP address and port number to establish a socket connection.
            Dim tcpClient As New TcpClient
            Dim ipAddress As IPAddress = Dns.GetHostEntry(txtIP.Text).AddressList(0)
            tcpClient.Connect(ipAddress,  Convert.ToInt32(txtPort.Text))

            Dim netStream As NetworkStream = tcpClient.GetStream()
            Dim writeBuffer As Byte() = Encoding.ASCII.GetBytes("hallo, hier is der client")
            netStream.Write(writeBuffer, 0,writeBuffer.Length)
            
            Dim readBuffer(1024) As Byte
            Dim message As StringBuilder = New StringBuilder()
            Dim bytesReaded As Integer = 0
   
            ' Incoming message may be larger than the buffer size.
            Do
                  bytesReaded = netStream.Read(readBuffer, 0, readBuffer.Length)
                  message.AppendFormat("{0}", Encoding.ASCII.GetString(readBuffer, 0, bytesReaded))
            Loop While netStream.DataAvailable
   
            ' Print out the received message to the console.
            MsgBox("You received the following message : " + message.ToString()) 

            netStream.Close()
            tcpClient.Close()
        Catch ex As Exception
            MsgBox("Fehlermeldung")
        End Try

    End Sub

Könnten ein paar Syntax fehler drin sein, code normal kein vb.net
Kompiliert hab ich es auch noch nicht .... alles ohne Gewehr

MfG
System.I/O ist offline   Mit Zitat antworten
Alt 23.05.07, 14:01   #10 (permalink)
Themenstarter
 
Registriert seit: 03.01.07
Henni Leistung: Facit NTK
Henni eine Nachricht über ICQ schicken
Likes: 0
Standard

Habe den Code mal angepasst und eingebaut, funktioniert auch alles Super, danke erstmal.
Ein Problem besteht aber noch ich kann den server net Neustarten (Stoppen und wieder Starten, da der Thread den ich gemacht habe nicht neugestartet werden kann, vllt weiß da einer ne lösung) und ich kann genau eine Message abschicken dann disconnecten die wieder, ist das richtig so?
Und von meinem Client kann ich einmal connecten und was machen, aber wenn ich versuch neu zu connecten dann Funzt das wieder net....

Hier der Komplette Code (auch unwesentliche teile dabei):

Server:
Code:
Public Class Form1
    Public server As New System.Net.Sockets.TcpListener(System.Net.IPAddress.Any, 26000)
    Dim client As System.Net.Sockets.TcpClient
    Dim netStream As System.Net.Sockets.NetworkStream
    Dim ThMessageEmpfDelegate As New Threading.ThreadStart(AddressOf MessageThread)
    Dim ThMessageEmpf As New Threading.Thread(ThMessageEmpfDelegate)
    Dim MessageIncomed As Boolean = False
    Public StrTest As String
    Private Sub btnStarten_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStarten.Click
        server.Start()
        lblStatus.Text = "Server gestartet"
        ThMessageEmpf.Start()
        btnStarten.Enabled = False
        btnStop.Enabled = True
    End Sub

    Public Sub MessageThread()
        Dim readBuffer(1024) As Byte
        Dim message As System.Text.StringBuilder = New System.Text.StringBuilder()
        Dim bytesReaded As Integer
        While (True)
            StrTest = server.Pending.ToString
            If server.Pending Then
                bytesReaded = 0

                client = server.AcceptTcpClient()
                netStream = client.GetStream()

                ' Incoming message may be larger than the buffer size.
                Do
                    bytesReaded = netStream.Read(readBuffer, 0, readBuffer.Length)
                    message.AppendFormat("{0}", System.Text.Encoding.ASCII.GetString(readBuffer, 0, bytesReaded))
                Loop While netStream.DataAvailable

                ' Print out the received message to the console.
                'lblTest.Text = "Nachricht vom Client : " + message.ToString
                MsgBox(message.ToString)
                MessageIncomed = True
            Else
                System.Threading.Thread.Sleep(10)
            End If
        End While
    End Sub

    Private Sub BeendenToolStripMenuItem_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BeendenToolStripMenuItem.Click
        Me.Close()
    End Sub

    Private Sub btnStop_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStop.Click
        If MessageIncomed Then
            netStream.Close()
        End If
        server.Stop()
        ThMessageEmpf.Abort()
        lblStatus.Text = "Server gestoppt"
    End Sub

    Private Sub btnStrTest_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStrTest.Click
        MsgBox(StrTest)
    End Sub
End Class
Und der Client:

Code:
Public Class Form1
    Public tcpClient As New TcpClient
    Public netStream As NetworkStream
    Private Sub btnVerbinden_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnVerbinden.Click
        If txtIP.Text = "" Then
            MsgBox("Bitte eine IP eingeben")
            Exit Sub
        End If
        If txtPort.Text = "" Then
            MsgBox("Bitte einen Port eingeben")
            Exit Sub
        End If

        Try
            'Uses the IP address and port number to establish a socket connection.

            Dim ipAddress As Net.IPAddress = System.Net.Dns.GetHostEntry(txtIP.Text).AddressList(0)
            tcpClient.Connect(ipAddress, Convert.ToInt32(txtPort.Text))
            lblStatus.Text = "Mit Server " + txtIP.Text + " auf dem Port " + txtPort.Text + " verbunden."
            btnSenden.Enabled = True

        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try



    End Sub

    Private Sub btnSenden_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSenden.Click

        Try
            netStream = tcpClient.GetStream()
            Dim writeBuffer As Byte() = System.Text.Encoding.ASCII.GetBytes(txtMessage.Text)
            netStream.Write(writeBuffer, 0, writeBuffer.Length)

        Catch ex As Exception
            MsgBox("Fehlermeldung")
        End Try

    End Sub

    Private Sub btnTrennen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnTrennen.Click
        netStream.Close()
        tcpClient.Close()
        lblStatus.Text = "Vom Server getrennt"
        btnSenden.Enabled = False
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        lblStatus.Text = "Vom Server getrennt"
        btnSenden.Enabled = False
    End Sub
End Class
Vllt. könnt ihr mir ja noch ein bissel weiterhelfen

mfg
Henni

achso und ich kann von dem anderen Thread nicht die eingabefelder und die Labels bearbeiten... Gibts da ne möglichkeit?
Henni ist offline   Mit Zitat antworten
Alt 24.05.07, 15:16   #11 (permalink)
 
Registriert seit: 20.03.07
System.I/O Leistung: Facit NTK
System.I/O eine Nachricht über ICQ schicken
Likes: 0
Standard

Zitat:
achso und ich kann von dem anderen Thread nicht die eingabefelder und die Labels bearbeiten... Gibts da ne möglichkeit?
Thread übergreiffende Operationen sind immer eine heikle Sache, stichwort "deadlock".
Bei GUI Elementen wie zb. dem Label ist es recht einfach:
Code:
Public Sub MessageThread()
        Invoke(DirectCast(AddressOf ConvertedAnonymousMethod1, MethodInvoker))
EndS Sub

Private Sub ConvertedAnonymousMethod1()
	Label1.Text = " blub"
End Sub
Funktioniert allerdings nur, wenn die Klasse, in der der Thread läuft, von System.Windows.Forms.Form abgeleitet wurde.

Den source vom Server/Client schau ich mir nachher an, hab ich gerade keien zeit für

MfG
System.I/O ist offline   Mit Zitat antworten
Antwort
   
- Anzeige -

Werbung ist gerade online    

[HaBo] » Software Home » Code Kitchen » [VB.NET] Winsocks verwenden
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind aus
Pingbacks sind aus
Refbacks sind aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Winsocks funktioniert nur lokal Virus Code Kitchen 7 21.04.09 11:18
winsocks hostname auflösen linkererror <b00n> Code Kitchen 6 04.08.07 21:17
Winsocks [c++] ports öffnen <b00n> Code Kitchen 5 01.08.07 10:56
problem mit winsocks <b00n> Code Kitchen 2 02.07.07 15:33
C++: unrar.dll verwenden mido Code Kitchen 3 26.11.05 21:58


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61