Guten Tag,
Nach stundenlanger Suche (wortwörtlich), habe ich absolut keine Lösung für mein Problem gefunden. Ob ich Tomaten auf den Augen habe, lässt sich dann wohl sehen. Bitte nehmt euch meine Signatur zu Herzen, dass würde ich sehr wertschätzen.
Zum Problem:
Ich versuche ein Programm zu erstellen, welches mit Server und Client kommuniziert. Soweit, so gut. Der Code, den ich habe, funktioniert und ich kann über 127.0.0.1 und den Port lauschen und auch nach dem lauschen mit dem Client auf den Server, der lauscht, connecten. Nur weiß ich nun nicht, wie ich es hinkriege, dass jemand anderes von Außerhalb auf meine IP lauschen kann.
Wie ihr auf dem Screenshot seht, ist links mein Server und rechts der Client. Alles funktioniert wunderbar, wie man ebenfalls sehen kann. Die IP ist nur eine Beispiel IP, damit ihr seht, dass es meine Maschinen IP ist (also meine lokale(?) IP). Ich habe nun einen Port über meine FritzBox freigegeben und weiß nun nicht mehr weiter. Der Server lauscht nun den Port, aber wie kann ich meine öffentliche IP benutzen, damit andere darauf lauschen können? Was ich mir im großen und ganzen vorstelle, ist einfach nur: Der Server soll auf eine IP, die ich auf "myip.is" sehen kann, lauscht. Der Port ist im Beispiel 1234, also sage ich mal in dem Fall, dass er auf genau diesen Port lauschen soll. Wie kriege ich das hin? Ich habe meine IP auch mit dem NO-IP Service verknüpft und habe nun eine richtige Domain (xxxx.ddns.net) aber das ist eine andere Geschichte.
Es wäre super, wenn ihr mir mal wieder helfen könntet und / oder mit auf die Sprünge hilft. Ich habe sämtliche Links durchgelesen, einfach gar nichts funktioniert (außer, ich habe sie nicht verstanden, aber dafür bin ich hier).
Ich nutze "SimpleTCP" für C#. Hier ist der Code vom Server:
Spoiler anzeigen
*Topic verschoben*
Nach stundenlanger Suche (wortwörtlich), habe ich absolut keine Lösung für mein Problem gefunden. Ob ich Tomaten auf den Augen habe, lässt sich dann wohl sehen. Bitte nehmt euch meine Signatur zu Herzen, dass würde ich sehr wertschätzen.
Zum Problem:
Ich versuche ein Programm zu erstellen, welches mit Server und Client kommuniziert. Soweit, so gut. Der Code, den ich habe, funktioniert und ich kann über 127.0.0.1 und den Port lauschen und auch nach dem lauschen mit dem Client auf den Server, der lauscht, connecten. Nur weiß ich nun nicht, wie ich es hinkriege, dass jemand anderes von Außerhalb auf meine IP lauschen kann.
Wie ihr auf dem Screenshot seht, ist links mein Server und rechts der Client. Alles funktioniert wunderbar, wie man ebenfalls sehen kann. Die IP ist nur eine Beispiel IP, damit ihr seht, dass es meine Maschinen IP ist (also meine lokale(?) IP). Ich habe nun einen Port über meine FritzBox freigegeben und weiß nun nicht mehr weiter. Der Server lauscht nun den Port, aber wie kann ich meine öffentliche IP benutzen, damit andere darauf lauschen können? Was ich mir im großen und ganzen vorstelle, ist einfach nur: Der Server soll auf eine IP, die ich auf "myip.is" sehen kann, lauscht. Der Port ist im Beispiel 1234, also sage ich mal in dem Fall, dass er auf genau diesen Port lauschen soll. Wie kriege ich das hin? Ich habe meine IP auch mit dem NO-IP Service verknüpft und habe nun eine richtige Domain (xxxx.ddns.net) aber das ist eine andere Geschichte.
Es wäre super, wenn ihr mir mal wieder helfen könntet und / oder mit auf die Sprünge hilft. Ich habe sämtliche Links durchgelesen, einfach gar nichts funktioniert (außer, ich habe sie nicht verstanden, aber dafür bin ich hier).
Ich nutze "SimpleTCP" für C#. Hier ist der Code vom Server:
Quellcode
- using System;
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Data;
- using System.Drawing;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows.Forms;
- using SimpleTCP;
- namespace My_Client
- {
- public partial class ClientForm : Form
- {
- public ClientForm()
- {
- InitializeComponent();
- }
- SimpleTcpClient client;
- private void Form1_Load(object sender, EventArgs e)
- {
- try
- {
- client = new SimpleTcpClient();
- client.StringEncoder = Encoding.UTF8;
- client.DataReceived += Client_DataRecieved;
- client.Connect(textboxHost.Text, Convert.ToInt32(textboxPort.Text));
- client.WriteLineAndGetReply("Someone connected", TimeSpan.FromSeconds(0));
- }
- catch (Exception ex)
- {
- MessageBox.Show(ex.ToString());
- this.Close();
- }
- }
- private void Client_DataRecieved(object sender, SimpleTCP.Message e)
- {
- textboxMessages.Invoke((MethodInvoker)delegate ()
- {
- textboxMessages.Text += e.MessageString.Replace("", "");
- });
- }
- private void Button1_Click(object sender, EventArgs e)
- {
- client.WriteLineAndGetReply(textboxSend.Text, TimeSpan.FromSeconds(0));
- }
- }
- }
*Topic verschoben*
Wenn ich eine Frage stelle, habe ich sie bereits gegooglet. Ja, es kommt vor, dass ich die Antwort übersehe. Ja, es kommt vor, dass ich sie nicht verstehe. Deshalb bin ich hier. Wenn dies eure Frage war, dann antwortet bitte nicht. Es stiehlt sämtliche Motivation.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()