ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
3131
3131
EMPFEHLEN
-
06.03.05 18:09 #1
- Registriert seit
- Jan 2004
- Ort
- Paderborn
- Beiträge
- 1.210
Hi,
Ich mache gerade meine ersten Schritte in der Netzwerkprogrammierung um möchte ein ganz simples Chat Programm schreiben. Erstmal möchte ich nur Daten an einen Server senden.
Damit der TCPListener immer "hört" habe ich eine Endlosschleife eingebaut. Das habe ich bereits in diversen Beispielen gesehen, doch keines davon verwendete zur Ausgabe Formulare, sondern die Console.
Starte ich jetzt die Endlosschleife reagiert das Formular nicht mehr. Ok DoEvents habe ich mir gedacht, aber das geht auch nicht wirklich. In der Endlosschleife erfolgt nämlich eine Ausgabe in einer Listbox, die auch bei DoEvents nicht erscheint.
Mein bisheriger Code:
Ich möchte das ganze gerne mit TCPClient / -Listener realisieren und ohne Threads, das muss doch gehen, oder?Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
Dim port As Integer = 13000 Dim localAddr As IPAddress = IPAddress.Parse("127.0.0.1") Dim server As New TcpListener(localAddr, port) server.Start() Dim bytes(10000) As Byte Dim data As String While True lstListen.Items.Add(DateTime.Now.ToString.Substring(11) & ": Warte auf Client ...") Dim client As TcpClient = server.AcceptTcpClient lstListen.Items.Add(DateTime.Now.ToString.Substring(11) & ": Client verbunden!") Dim stream As NetworkStream = client.GetStream data = Nothing Dim i As Integer i = stream.Read(bytes, 0, bytes.Length) data = System.Text.Encoding.ASCII.GetString(bytes, 0, i) lstListen.Items.Add(DateTime.Now.ToString.Substring(11) & ":" & data) stream.Close() client.Close() End While
Danke,
suye
-
Hallo!
Ich progge nur in C#.
Aber ich glaube zu verstehen was Du meinst. Ich empfehle Dir das ganze asynchron zu programmieren. Ich meine damit Eventhandler die bei Datenein-/ u. ausgang ausgelöst werden.
So würde das bei mir in C# aussehen:
Ob Dir das jetzt hilft kann ich Dir jetzt logischerweise leider nicht sagen. Aber ich hoffe es hilft.Code :1 2 3 4 5 6 7 8 9
//SendeEreignisBehandlung wird initialisiert. AsyncCallback sendData = new AsyncCallback(OnDataSend); s_Socket.BeginSend( abyBuffer, 0, abyBuffer.Length, SocketFlags.None, sendData, s_Socket); //EmpfangsEreignisBehandlung wird initialisiert. AsyncCallback reciveData = new AsyncCallback(OnRecivedData); s_Socket.BeginReceive( abyBuffer, 0, abyBuffer.Length, SocketFlags.None, reciveData, s_Socket);

MfG, cosmoMfG,
Christian
Wer sein Problem definiert, hat es schon halb gelöst!
Bitte markiert eure Themen als erledigt. Sonst macht so ein Forum als Nachschlagewerk keinen Sinn.
The Code Project! - C# Programming | C# / VB.NET Pendants
Regeln + Netiquette
Liebe FIAEs, verlasst euch nicht auf das was in der Berufsschule "vermittelt" wird
und vor allem nicht auf das, was euch die IHK dazu erzählt!
Die haben so viel Ahnung von dem Gewerk, wie der Bundestag vom Haushalt...
-
30.09.10 09:34 #3
- Registriert seit
- Jul 2004
- Beiträge
- 24
du wirst nicht ohne Thread ( auslagern des arbeitsintensiven teils ) auskommen wenn du eine Form
nutzen möchtest. ohne das sie "einfriert".
ich bin Grade dabei meinen einfachen Client/Server Umzugbasteln das er in ner Form rennt.
momentan sind Client sowie Server Konsolenanwendungen.
wenn irgend jemand eine auch nur annähernde Idee hätte mit welcher Technik,
in vb.net es möglich ist auf eine Verbindung bzw Datenpaket eines Clients zu lauschen ...
bitte her damit
ps1: warum darf threading nicht genutzt werden bei dir ?
ps2 : asynchron = threading x(
Wie kann man einen bilateralen MiniChat organisieren?
grad getestet is recht nett als basis
http://www.informtools.de/kb.aspx?id=318
bin grad am testen wie wo wann was da passiert *GGeändert von Triple-Axe (30.09.10 um 10:19 Uhr) Grund: < Schreibfehler editieren
Ähnliche Themen
-
[C#] TCPListener am Internet lauschen lassen?
Von Doomt im Forum Coders TalkAntworten: 0Letzter Beitrag: 06.05.10, 18:14 -
langsame kommunikation tcplistener
Von Klein0r im Forum .NET Web und KommunikationAntworten: 1Letzter Beitrag: 29.09.07, 13:46 -
C# - TcpListener/-Client Frage ...
Von kasal im Forum .NET Web und KommunikationAntworten: 4Letzter Beitrag: 03.03.06, 18:12 -
TcpListener Problem
Von hofchr im Forum .NET ArchivAntworten: 10Letzter Beitrag: 13.10.04, 08:20 -
ist TcpListener(Port) veraltet
Von kleiner_mann im Forum .NET ArchivAntworten: 10Letzter Beitrag: 19.05.04, 18:05





Zitieren
Login





