Guten Abend,
ich bastel inzwischen seid 3 Stunden an einer Möglichkeit Daten(Informationen) zwischen einem vb Programm und der Webseite zuteilen. Geplant ist ein Echtzeit Datenaustausch.
Dadurch, dass ich mich bis dato nicht wirklich mit Sockets auseinander gesetzt habe, ist es wie ein Bahnhof für mich.
Jedoch kann ich schon paar Ergebnisse Vorweisen.
Fehlermeldung
Anmerkung: Die IP 5.230.142.92 ist die ServerIP
PHP Teil
Spoiler anzeigen
und
VB
Spoiler anzeigen
Außerdem noch anzumerken ist, wenn ich bei Putty "netstat -an" eingeben, erscheint auch der Port nicht und wenn ich mit dem Programm ein p2p Netzwerk aufbaue funktioniert alles bestens.
Auch kann ich nicht über Telnet durch Putty kein Socket aufbauen.
Hat jemand von euch eine Tipp oder eine Idee?
Würde mich Freuen
MFG Whitetiiger
#Edit 25.03.2017
in der Zwischenzeit habe ich herausgefunden, dass es nicht möglich ist ein Tunnel zwischen einer Webseite und einem Programm aufzubauen.
Daher habe ich mich in der Zwischenzeit daran gemacht ein eigenen Server zuschreiben, um die Datenpakete zu verarbeiten und zu senden.
Manchmal kommt die Antwort sogar von Alleine
ich bastel inzwischen seid 3 Stunden an einer Möglichkeit Daten(Informationen) zwischen einem vb Programm und der Webseite zuteilen. Geplant ist ein Echtzeit Datenaustausch.
Dadurch, dass ich mich bis dato nicht wirklich mit Sockets auseinander gesetzt habe, ist es wie ein Bahnhof für mich.
Jedoch kann ich schon paar Ergebnisse Vorweisen.
Fehlermeldung
Anmerkung: Die IP 5.230.142.92 ist die ServerIP
PHP Teil
PHP-Quellcode
- #!/usr/local/bin/php -q
- <?php
- error_reporting (E_ALL);
- /* Das Skript wartet auf hereinkommende Verbindungsanforderungen. */
- set_time_limit (0);
- /* Die implizite Ausgabe wird eingeschaltet, so dass man sieht,
- * was gesendet wurde. */
- ob_implicit_flush ();
- $address = '31.16.*.*'; // IP stimmt natürlich
- $port = 10000;
- if (($sock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP)) === false) {
- echo "socket_create() fehlgeschlagen: Grund: " . socket_strerror(socket_last_error()) . "\n";
- }
- if (socket_bind($sock, $address, $port) === false) {
- echo "socket_bind() fehlgeschlagen: Grund: " . socket_strerror(socket_last_error($sock)) . "\n";
- }
- if (socket_listen($sock, 5) === false) {
- echo "socket_listen() fehlgeschlagen: Grund: " . socket_strerror(socket_last_error($sock)) . "\n";
- }
- do {
- if (($msgsock = socket_accept($sock)) === false) {
- echo "socket_accept() fehlgeschlagen: Grund: " . socket_strerror(socket_last_error($sock)) . "\n";
- break;
- }
- /* Anweisungen senden. */
- $msg = "\nWillkommen auf dem PHP-Testserver. \n" .
- "Um zu beenden, geben Sie 'quit' ein. Um den Server herunterzufahren, geben Sie 'shutdown' ein.\n";
- socket_write($msgsock, $msg, strlen($msg));
- do {
- if (false === ($buf = socket_read ($msgsock, 2048, PHP_NORMAL_READ))) {
- echo "socket_read() fehlgeschlagen: Grund: " . socket_strerror(socket_last_error($msgsock)) . "\n";
- break 2;
- }
- if (!$buf = trim ($buf)) {
- continue;
- }
- if ($buf == 'quit') {
- break;
- }
- if ($buf == 'shutdown') {
- socket_close ($msgsock);
- break 2;
- }
- $talkback = "PHP: Sie haben '$buf' eingegeben.\n";
- socket_write ($msgsock, $talkback, strlen ($talkback));
- echo "$buf\n";
- } while (true);
- socket_close ($msgsock);
- } while (true);
- socket_close ($sock);
- ?>
und
VB
VB.NET-Quellcode
- Imports System.Net.Sockets
- Imports System.Threading
- Imports System.IO
- Public Class Form1
- Dim listener As New TcpListener(10000)
- Dim client As New TcpClient
- Dim message As String = ""
- Private Sub Form1_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
- listener.Stop()
- End Sub
- Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
- Dim listthread As New Thread(New ThreadStart(AddressOf listening))
- listthread.Start()
- End Sub
- Private Sub listening()
- listener.Start()
- End Sub
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- client = New TcpClient("5.230.142.92", 10000)
- Dim writer As New StreamWriter(client.GetStream())
- writer.Write(TextBox2.Text)
- writer.Flush()
- End Sub
- Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
- If listener.Pending = True Then
- message = ""
- client = listener.AcceptTcpClient()
- Dim reader As New StreamReader(client.GetStream())
- While reader.Peek > -1
- message = message + Convert.ToChar(reader.Read()).ToString
- End While
- TextBox3.Text = TextBox3.Text & message & vbCrLf
- Else
- End If
- End Sub
- End Class
Außerdem noch anzumerken ist, wenn ich bei Putty "netstat -an" eingeben, erscheint auch der Port nicht und wenn ich mit dem Programm ein p2p Netzwerk aufbaue funktioniert alles bestens.
Auch kann ich nicht über Telnet durch Putty kein Socket aufbauen.
Hat jemand von euch eine Tipp oder eine Idee?
Würde mich Freuen
MFG Whitetiiger
#Edit 25.03.2017
in der Zwischenzeit habe ich herausgefunden, dass es nicht möglich ist ein Tunnel zwischen einer Webseite und einem Programm aufzubauen.
Daher habe ich mich in der Zwischenzeit daran gemacht ein eigenen Server zuschreiben, um die Datenpakete zu verarbeiten und zu senden.
Manchmal kommt die Antwort sogar von Alleine
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „whitetiiger“ ()