myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Webmaster Talk > Entwicklung & Programmierung
Seite neu laden

Visual Basic TCP

Willkommen

myGully

Links

Forum

 
Antwort
Themen-Optionen Ansicht
Ungelesen 10.09.13, 13:39   #1
HammerRei
abused
 
Benutzerbild von HammerRei
 
Registriert seit: Jul 2010
Beiträge: 289
Bedankt: 108
HammerRei ist noch neu hier! | 0 Respekt Punkte
Standard Visual Basic TCP

Hallo Community

ich möchte mit einer Kamera kommunizieren, scheitere jedoch seit Tagen an der Umsetzung und nehme nun in meiner Not den "Publikumsjoker"

Bitte helft mir ...

Meine Aufgabe:
Schicke an IP Adresse 192.168.100.100 Port:2006 einen Trigger "irgendein String",
dann erhälst du über den Port: 2005 einen String zurück
Edit: Mein Programm wird nicht mit Console sondern über TextBoxen laufen und die Daten speichere ich anschließend auf einem Server.
(Achtung: Unter den Codes 2. Aufgabe)

Code:

Imports System.Net.Sockets
Imports System.IO
Public Class Form1

'Variablen:
Dim stream As NetworkStream
Dim streamw As StreamWriter
Dim streamr As StreamReader
Dim Client As New TcpClient
Dim Client2 As New TcpClient
Dim IP As String = "192.168.100.100"
Dim Port1 As Integer = 2006
Dim Port2 As Integer = 2005

Private Sub Connect(ByVal sender As System.Object, ByVal e As System.EventArgs)
    'Client verbindet sich mit IP: 192.168.100.100 und Port 2006
	Client.Connect(IP, Port1)  
    If Client.Connected Then
		' Stream verweist auf Client
        stream = Client.GetStream 
		' Stream zum Senden
        streamw = New StreamWriter(stream)
		Client2.Connect(IP, Port2)
		If Client2.Connected Then
		stream = Client.GetStream
		' Stream zum Empfangen 
        streamr = New StreamReader(stream)
		Else
		Call MsgBox("Verbidnung konnte mit " & IP & ":" & Port2 & " nicht aufgebaut werden!")
    Else
        Call MsgBox("Verbidnung konnte mit " & IP & ":" & Port2 & " nicht aufgebaut werden!")
    End If
End Sub

Sub client_send(ByVal text As String)
    streamw.WriteLine(text)
    streamw.Flush()
End Sub

Function client_receive() As String
    client_receive = streamr.ReadLine
End Function
End Class
Oder funktioniert das über

Code:

client_send("Stringtext")
client_receive() = ""
variable zum weiterverarbeiten = client_receive()
(Add: Es gibt ein mitgegebenes Tool. Hier kann ich mich mit dem Gerät verbinden und gebe bei "on request port..." die 2006 ein... Erhalte unter "Response (HEX):" eine "084,082,071,080," Ist das der allgemeine Code der von dem Gerät zu meinem Rechner zurück kommt oder die Umwandlung eines X-Beliebigen Triggers in Hexcode?)

Anschließend erhalte ich mithilfe eines weiteren Triggers über den selben Port ein Array, das mir pro Bit-Position im Array (genannt ByteArray) einen Grauton gibt und sich daraus ein Bild zusammensetzt, das ich aber in ein JPEG Format mit dem oben zurückgegebenen String als Titel abspeichern möchte.
Hierzu gibt mir Google keinen Beispielcode der sich in meinem Anfangsstadium verwenden lässt.

Code:
Private Function BytesToImage(ByVal ImageBytes() As Byte) As Image
    Dim imgNew As Image
    Dim memImage As New System.IO.MemoryStream(ImageBytes)
    imgNew = Image.FromStream(memImage)
    Return imgNew
End Function
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
HammerRei ist offline   Mit Zitat antworten
Ungelesen 10.09.13, 16:51   #2
HammerRei
abused
 
Benutzerbild von HammerRei
 
Registriert seit: Jul 2010
Beiträge: 289
Bedankt: 108
HammerRei ist noch neu hier! | 0 Respekt Punkte
Standard

1. Aufgabe
Ich benötige einen strukturierten funktionierenden Code mit Kommentaren, wo ich meine IP und wo den Port reinschreiben kann. Wie ich einen Trigger versende (String1 ist mir bekannt) und den zurückgelieferten String auf einen anderen Port:2005 abgreife und in eine Variable schreibe.

2. Aufgabe
Wie speichere ich einen ByteArray über Port:2005 ab (Trigger string2 erneut über Port:2006), konvertiere ihn mit VB-Code zu JPEG und speichere das JPEG mit entsprechenden Dateinamen im Pfad C:/xy/ ab.
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
HammerRei ist offline   Mit Zitat antworten
Ungelesen 10.09.13, 18:21   #3
HammerRei
abused
 
Benutzerbild von HammerRei
 
Registriert seit: Jul 2010
Beiträge: 289
Bedankt: 108
HammerRei ist noch neu hier! | 0 Respekt Punkte
Standard

Schön wäre es, wenn es Hausaufgabe wäre und ich sie einfach vergessen könnte, aber aus dem Alter bin ich raus.

Mein Code bringt mir kein Ergebnis zurück und ich finde seit Tagen dafür keine Lösung.

Ein Bytearray würde ähnlich ausgelesen werden wie der string, nur fehle mir dafür die korrekte Syntax
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
HammerRei ist offline   Mit Zitat antworten
Ungelesen 10.09.13, 19:50   #4
HammerRei
abused
 
Benutzerbild von HammerRei
 
Registriert seit: Jul 2010
Beiträge: 289
Bedankt: 108
HammerRei ist noch neu hier! | 0 Respekt Punkte
Standard

Ferienjob als Informatik Student. Da ich erst im 2. Semester bin, keine Erfahrung mit objektorientierten Programmiersprachen habe und auch sonst nie über Netzwerk kommuniziert hatte, bin ich von der Aufgabe einfach nur überfordert und bin nach Tagelang googlen an mein Ende gestoßen.

Das Programm lässt sich nicht debuggen, da eine von jmd anderen vorprogrammierte Kommunikation mit einem Server stattfindet, an den ich mich nicht verbinden darf. Der Versuch nur einen Teil des Codes in einem neuen Projekt zu verwenden oder die anderen Teile aus dem Programm vorübergehend zu löschen(+save) ist aus mir nicht ergründlichen Faktoren nicht möglich gewesen.
(Das Programm lässt sich in so weit debuggen, dass die Meldung auftritt "Verbindung zum Server nicht möglich", damit ist allerdings nicht die Kamera gemeint)
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
HammerRei ist offline   Mit Zitat antworten
Ungelesen 10.09.13, 21:15   #5
NetWebs
Banned
 
Registriert seit: Aug 2012
Beiträge: 223
Bedankt: 68
NetWebs ist noch neu hier! | 0 Respekt Punkte
Standard

Naja, mit den Infos wird man dir schwer helfen können.
Wenn du es vor Ort schon nicht debuggen kannst, wie sollen wir das bewerkstelligen?

Warum gehst du nicht einfach den sinnvollsten Weg und fragst jemanden mit Kenntnissen an deinem Arbeitsplatz?

Vielleicht solltest du auch Tools einsetzen um den Netzwerkverkehr zu analysieren.
NetWebs ist offline   Mit Zitat antworten
Ungelesen 10.09.13, 21:34   #6
HammerRei
abused
 
Benutzerbild von HammerRei
 
Registriert seit: Jul 2010
Beiträge: 289
Bedankt: 108
HammerRei ist noch neu hier! | 0 Respekt Punkte
Standard

Ich hatte gehofft dass es einen Individuell anpassbaren Code gäbe für
"String über IP Port schicken" und "String über IP Port erhalten"

Dieses Tutorial hier [ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ] kann ich leider nicht auf meine 2 unterschiedlichen Ports anpassen.
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
HammerRei ist offline   Mit Zitat antworten
Ungelesen 10.09.13, 22:07   #7
HammerRei
abused
 
Benutzerbild von HammerRei
 
Registriert seit: Jul 2010
Beiträge: 289
Bedankt: 108
HammerRei ist noch neu hier! | 0 Respekt Punkte
Standard

Also kann man hier keine Hilfe erwarten - danke -.-
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
HammerRei ist offline   Mit Zitat antworten
Ungelesen 10.09.13, 22:29   #8
NetWebs
Banned
 
Registriert seit: Aug 2012
Beiträge: 223
Bedankt: 68
NetWebs ist noch neu hier! | 0 Respekt Punkte
Standard

Die Frage ist doch: Wie können wir dir helfen?


Wenn du eine Autopanne hast, erwartet du doch auch nicht, dass der ADAC das Auto am Telefon repariert!
Da hier aber keiner von uns Zugang zu deinem Arbeitsplatz, musst du schon mehr Informationen raus rücken.

Beleidigt sein ist daher kindisch! (Sagtest du nicht du bist aus dem Alter raus?)
NetWebs ist offline   Mit Zitat antworten
Ungelesen 11.09.13, 07:15   #9
HammerRei
abused
 
Benutzerbild von HammerRei
 
Registriert seit: Jul 2010
Beiträge: 289
Bedankt: 108
HammerRei ist noch neu hier! | 0 Respekt Punkte
Standard

Erwartet hatte ich einen abgeänderten Code, der aussagt: So schickt man einen String über diese IP mit diesem Port ---- So erhält man die Antwort über dden anderen Port zurück. - Sorry

Ich melde mich mit Freudenschreie zurück, da ich den 1. Task zur hälfte gelöst habe

Code:
Public Class Form1

    Private tcpClient As New System.Net.Sockets.TcpClient()

    Public Sub Form1_Show(sender As Object, e As EventArgs) Handles MyBase.Shown
        ' Verbindung mit IP, Port1 aufbauen
        tcpClient.Connect("192.168.100.100", 2006)
        ' Überprüfen, ob verbunden
        If tcpClient.Connected Then
            ' Methode Senden() aufrufen
            Senden()
        Else
            Call MsgBox("Verbindung konnte nicht aufgebaut werden!")
        End If
    End Sub

    Private Sub Senden()
        ' Versenden des ByteArrays
        Dim networkStream As NetworkStream = tcpClient.GetStream()
        Dim sendBytes As [Byte]()
        sendBytes = Encoding.ASCII.GetBytes("TRG" + vbCrLf)
        networkStream.Write(sendBytes, 0, sendBytes.Length)
    End Sub

End Class
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
HammerRei ist offline   Mit Zitat antworten
Ungelesen 13.09.13, 08:20   #10
HammerRei
abused
 
Benutzerbild von HammerRei
 
Registriert seit: Jul 2010
Beiträge: 289
Bedankt: 108
HammerRei ist noch neu hier! | 0 Respekt Punkte
Standard

- Code mangels korrekter funktionalität gelöscht -
__________________
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
HammerRei ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:59 Uhr.


Sitemap

().