|
You last visited: Today at 18:55
Advertisement
VB - StreamReader - benötig schnelle hilfe!
Discussion on VB - StreamReader - benötig schnelle hilfe! within the General Coding forum part of the Coders Den category.
11/22/2011, 16:03
|
#1
|
elite*gold: 0
Join Date: Oct 2011
Posts: 33
Received Thanks: 3
|
VB - StreamReader - benötig schnelle hilfe!
Hi ich hab ein Problem und zwar bin ich grad dabei für eine Kumpel ein kleines Proggi zu machn...
(für Telnet)
so ich hab das jetzt so
Code:
client_send(Befehlsbox.Text)
RichTextBox1.Text = Temp & "Ich: " & Befehlsbox.Text & vbCrLf
Temp = RichTextBox1.Text
RichTextBox1.Text = Temp & "Server: " & streamr.ReadLine & vbCrLf
Temp = RichTextBox1.Text
RichTextBox1.Select(RichTextBox1.Text.Length, 0)
RichTextBox1.ScrollToCaret()
damit lese ich allerdings nur wie auch schon der name "ReadLine" eine Line aus... ich möchte aber das der alles was der empfängt ließt und mir in die RichTextBox1 schreibt ... wie lös ich das jetzt ?
|
|
|
11/22/2011, 16:07
|
#2
|
elite*gold: 4
Join Date: Mar 2010
Posts: 3,148
Received Thanks: 1,535
|
Dim tmp as string = streamr.readline
streamw.writeline(tmp)
kommt halt drauf an ob multithreading mit list und so usw.
|
|
|
11/22/2011, 16:14
|
#3
|
elite*gold: 0
Join Date: Oct 2011
Posts: 33
Received Thanks: 3
|
Edit : grad was am versuchen
|
|
|
11/22/2011, 16:18
|
#4
|
elite*gold: 0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
|
Wie meinst du alles, was er empfängt? Was steht denn in der RTB, wenn du einen Satz schreibst und dann schreibt der andere einen und was willst du, dass dort dann stehen soll?
@Jopsi was hat das mit Multithreading zu tun?
|
|
|
11/22/2011, 16:27
|
#5
|
elite*gold: 4
Join Date: Mar 2010
Posts: 3,148
Received Thanks: 1,535
|
dann wäre es z.b.
listensub(ByVal con As Connection)
Dim tmp as string = con.streamr.readline
con.streamw.writeline(tmp)
|
|
|
11/22/2011, 16:32
|
#6
|
elite*gold: 0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
|
Quote:
Originally Posted by Jopsi332
dann wäre es z.b.
listensub(ByVal con As Connection)
Dim tmp as string = con.streamr.readline
con.streamw.writeline(tmp)
|
Das hat der doch bereits schon, anscheinend will er aber etwas anderes..
|
|
|
11/22/2011, 17:36
|
#7
|
elite*gold: 0
Join Date: Oct 2011
Posts: 33
Received Thanks: 3
|
Also ich hab die RichTextbox jetzt weggemacht und ne Listbox genommen....
Also ich verbinde mich mit ner Adresse ... z.B. in meinem fall cobra.2x.to:10033
dann krieg ich die Antwort : Ts3
so wenn ich das gleiche jetzt ohne meine proggi mache mit telnet cobra.2x.to:10033 steht da :
1.ZEILE ------Ts3
2.Zeile -------Bitte gebe hilfe .... ein um blablablalb
So ... ich möchte das mein Programm nicht nur Zeile 1 holt sondern auch Zeile 2 und folgend......
hier mal meine jetztiger Code:
Code:
Imports System.Net.Sockets
Imports System.IO
Public Class Form1
'Variablen:
Dim status As Boolean = False
Dim Adresse As Boolean = False
Dim Port As Boolean = False
Dim readytosendbefehle As Boolean = False
Dim stream As NetworkStream
Dim streamw As StreamWriter
Dim streamr As StreamReader
Dim Client As System.Net.Sockets.TcpClient
'_________________
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If Adresse = True Then
If Port = True Then
Try
Client = New System.Net.Sockets.TcpClient 'Neuer TcpCLient damit Reconnect funktioniert!
Client.Connect(Serverip.Text, Serverport.Text) 'Client verbindet sich mit IP und Port
If Client.Connected Then
stream = Client.GetStream ' Stream wird auf Client verwiesen
streamw = New StreamWriter(stream) ' Stream zum Senden wird deklariert
streamr = New StreamReader(stream) ' Stream zum Empfangen wird deklariert
login() ' Sub Login
Else
ListBox1.Items.Add("Verbidnung konnte nicht mit " & Serverip.Text & ":" & Serverport.Text & " aufgebaut werden!")
End If
Catch
ListBox1.Items.Add("Verbidnung konnte nicht mit " & Serverip.Text & ":" & Serverport.Text & " aufgebaut werden! Da der Zugriff verweigert wurde!")
End Try
Else
ListBox1.Items.Add("Sie müssen noch einen Port eintragen um sich verbinden zu können!")
End If
Else
ListBox1.Items.Add("Sie müssen eine Adresse und Port eingetragen um sich Verbinden zu können!")
End If
End Sub
Sub client_send(ByVal text As String)
streamw.WriteLine(text)
streamw.Flush()
End Sub
Function client_recieve() As String
client_recieve = streamr.ReadLine
End Function
' Nach der erfolgreichen verbindung mit der IP und dem Port wird dieser Sub aufgerufen:
Sub login()
Try
Dim tmp As String = streamr.ReadLine
streamw.WriteLine(tmp)
client_send("test")
ListBox1.Items.Add("Verbindung Erfolgreich!")
ListBox1.Items.Add("Server: " & tmp)
readytosendbefehle = True
Exit Sub ' Versteht sich von Selbst...
Catch
ListBox1.Items.Add("FEHLER!! KONNTE MESSAGE NICHT ÜBERMITTELN!!!!") ' Hier kann man eine Error Message ausgeben oder eine Automatische Fehlerbehebung machen,....
End Try
End Sub
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
If Client.Connected Then
Client.Close()
streamw.Flush()
ListBox1.Items.Add("Verbindung erfolgreich geschlossen!")
Else
ListBox1.Items.Add("ERROR: Verbindung konnte nicht geschlossen werden!")
End If
End Sub
Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
If status = False Then
Me.Size = New System.Drawing.Size(1024, 456)
status = True
Else
Me.Size = New System.Drawing.Size(1024, 360)
status = False
End If
End Sub
Private Sub Senden_Click(sender As System.Object, e As System.EventArgs) Handles Senden.Click
If readytosendbefehle = True Then
Try
Dim tmp As String = streamr.ReadLine
client_send(Befehlsbox.Text)
streamw.WriteLine(tmp)
ListBox1.Items.Add("Ich: " & Befehlsbox.Text)
ListBox1.Items.Add("Server: " & tmp)
ListBox1.SelectedIndex = ListBox1.Items.Count - 1
ListBox1.ClearSelected()
Catch
MsgBox("Sorry es gab ein Fehler beim Senden/Empfangen bitte überprüfen sie ihre Verbindung zum Server!")
End Try
Else
MsgBox("Du kannst keine Befehle senden ohne eine aktive Verbindung zu haben!")
End If
End Sub
Private Sub Serverip_TextChanged(sender As System.Object, e As System.EventArgs) Handles Serverip.TextChanged
Adresse = True
End Sub
Private Sub Serverport_TextChanged(sender As System.Object, e As System.EventArgs) Handles Serverport.TextChanged
Port = True
End Sub
End Class
EDIT: Hier nochn 3 vergleichs screeens
Vergleich Nr1. :
Vergleich Nr2. :
Vergleich Nr3. :
|
|
|
11/22/2011, 17:57
|
#8
|
elite*gold: 4
Join Date: Mar 2010
Posts: 3,148
Received Thanks: 1,535
|
haste acuh streamw.writeline.flush und so verwednet?
|
|
|
11/22/2011, 18:18
|
#9
|
elite*gold: 0
Join Date: Oct 2011
Posts: 33
Received Thanks: 3
|
Jop in Z73....
Code:
'hier nochmal die Deklara
Dim stream As NetworkStream
Dim streamw As StreamWriter
Dim streamr As StreamReader
Dim Client As System.Net.Sockets.TcpClient
Sub client_send(ByVal text As String)
streamw.WriteLine(text)
streamw.Flush()
End Sub
und dann wenn ich befehl sende dann
*das mit dem dim meinteste ja sollte ich machn ... weiß jetzt nicht obs richtig is....
Code:
Dim tmp As String = streamr.ReadLine
client_send(Befehlsbox.Text)
streamw.WriteLine(tmp)
ListBox1.Items.Add("Ich: " & Befehlsbox.Text)
ListBox1.Items.Add("Server: " & tmp)
ListBox1.SelectedIndex = ListBox1.Items.Count - 1
ListBox1.ClearSelected()
|
|
|
11/22/2011, 18:28
|
#10
|
elite*gold: 4
Join Date: Mar 2010
Posts: 3,148
Received Thanks: 1,535
|
das sollte eig in den server dachte du hättestet nen chat server gemacht und net nen ts3 server
|
|
|
11/22/2011, 18:44
|
#11
|
elite*gold: 0
Join Date: Oct 2011
Posts: 33
Received Thanks: 3
|
Hä ?!
Das Programm soll ne verbindung zu nem server aufbaun und wie ne Console funktionieren ... sozusagn...
Was meinste mit auf den Server tun ?!
PS: hab herausgefunden das der doch alles auflistet ... man muss halt tausend mal befehl senden klicken dann geht der Zeile pro zeile ab .... kann man das iw. machn das der das direkt da rein schreibt ?!
|
|
|
11/22/2011, 20:20
|
#12
|
elite*gold: 0
Join Date: Feb 2009
Posts: 1,137
Received Thanks: 573
|
es müsste so gehen, garantiere aber für nichts, hab schon ewig nichts mehr mit vb gemacht
PHP Code:
Dim t As New Net.Sockets.TcpClient Dim a As Integer = t.Available Dim b(a) As Byte t.GetStream.Read(b, t.GetStream.Position, a)
|
|
|
11/23/2011, 17:48
|
#13
|
elite*gold: 0
Join Date: Oct 2011
Posts: 33
Received Thanks: 3
|
geht nicht ... dann hat das proggi keine rückmeldung mehr
|
|
|
11/24/2011, 23:33
|
#14
|
elite*gold: 0
Join Date: Feb 2009
Posts: 1,137
Received Thanks: 573
|
Multithreading, in einem thread zeilenweise aus stream lesen, in einem weiteren das gelesene verwenden , und im gui thread mit dem interface kommunizieren
|
|
|
11/25/2011, 16:44
|
#15
|
elite*gold: 4
Join Date: Mar 2010
Posts: 3,148
Received Thanks: 1,535
|
Quote:
Originally Posted by warfley
Multithreading, in einem thread zeilenweise aus stream lesen, in einem weiteren das gelesene verwenden , und im gui thread mit dem interface kommunizieren
|
funktioniert nicht wenn der client eine konsolen anwendung ist und die .vb eine form
|
|
|
 |
|
Similar Threads
|
[Hilfe]Schnelle hilfe! Dyndns Hp geht nicht trotz korrekter eingabe
03/20/2011 - Metin2 Private Server - 6 Replies
Tag zusammen
Also ich habe folgendes problem
1. Bin ich um 3 Uhr abendds ( 2:50) noch immer Wach und prepariere meinen Server
und 2. Meine Homepage geht nicht!
Also
Stand sieht wie folgt aus bei der Portfreigabe in meiner Fritzbox 7270 Fon Wlan
|
Dringend Datei benötig
01/09/2011 - Metin2 Private Server - 2 Replies
Heyho.
Suche dringend noch eine Datei für meinen Server.
Und nämlich wäre das die mob_item_proto.txt
Am Besten noch unverändert von den Serverfiles von Computerkrank v2.
Außerdem. Immer wenn ich diese Datei bearbeite lässt sich Server nicht mehr hochfahren und in syserr wird nur das angezeigt.
SYSERR: Jan 8 21:45:48 :: socket_connect: HOST 220.95.239.40:7120, could not connect.
SYSERR: Jan 8 21:45:48 :: heart_idle: losing 94 seconds. (lag occured)
|
[VB 2008] Eine Frage Hilfe bitte schnelle hilfe
07/03/2010 - .NET Languages - 0 Replies
hi com,
also ich möchte ein bot machen und der mauszeiger muss dabei klicken kann mir jemand den code sagen i-wie cursor.clikc oder so ich hab jetzt coursor.positon = new point ( xwert, ywert) und jetzt soll er klicken
edit:
und möchte noch also die maus beewgt sich auf eine textvbox von einer interbnet seite drückt auf die textbopx und soll dann was eingeben
PS: jede hilfreiche antwort = 1thanx
|
Brauche schnelle schnelle Hilfe
05/15/2010 - Metin2 Private Server - 2 Replies
Hallo ihr alle ich muss es kurz fassen da ich nicht so viel Zeit habe bei mir bei Xampp startet appache nicht naja manchmal schon aber nach 1 sek geht es wieder aus!was soll ich amchen wer hilft kriegt Thanks!
|
Rootserver - Geht das mit den 1 Klickfiles und was wird benötig?
10/30/2009 - Metin2 Private Server - 18 Replies
Hallo Leute, meine Frage ist es ob man die 1 Klickfiles aufn Root laufen könnte?
Und wenn ja, wie geht das? Wird dort noch etwas speziales benötigt?
Sorry, wenn es Anfängerfragen sind. Ich hatte noch nie ein Root-Server,
will mir auch keinen machen nur aus neugier frage ich.
|
All times are GMT +1. The time now is 18:57.
|
|