Программа чата с C # через IP-адрес. Соединение двух компьютеров в разных сетях - PullRequest
0 голосов
/ 26 апреля 2019

Я пишу программу чата для меня и моего друга на C #, и я не знаю, как подключить мой компьютер к компьютеру в другой сети. Код прекрасно работает в моей домашней сети между двумя компьютерами, но между двумя разными сетями он не работает. Я знаю, почему это не работает, я имею в виду, что это имеет смысл, я думаю, что я каким-то образом подключил наши маршрутизаторы к стандартному шлюзу или что-то в этом роде, но я не могу найти в Интернете ничего, что мне помогло бы.

Возможно, C # - неподходящий язык для приложения чата, но я уверен, что это возможно. Если кто-то может сказать мне, как это работает в C # или какой язык будет лучше для него?

    private void Form1_Load(object sender, EventArgs e)
    {
        //set up socket
        socket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);

        socket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);

        //get user IP
        textLocalIp.Text = GetLocalIP();
        //textRemoteIp.Text = GetLocalIP();
    }

    private void buttonConnect_Click(object sender, EventArgs e)
    {
        //binding Socket
        epLocal = new IPEndPoint(IPAddress.Parse(textLocalIp.Text), Convert.ToInt32(textLocalPort.Text));
        socket.Bind(epLocal);

        //connecting to remote IP
        epRemote = new IPEndPoint(IPAddress.Parse(textRemoteIp.Text), Convert.ToInt32(textRemotePort.Text));
        socket.Connect(epRemote);

        //listeninf the specific port
        buffer = new byte[1500];
        socket.BeginReceiveFrom(buffer, 0, buffer.Length, SocketFlags.None, ref epRemote, new AsyncCallback(MessageCallBack), buffer);
    }

1 Ответ

0 голосов
/ 27 апреля 2019

Хорошо, я не рекомендую вам использовать чат C #, он старый.Но вам нужно:

Imports System.Net.Sockets
Imports System.Threading 

Вы найдете учебник: здесь Также, если вам нужны какие-то другие учебники, которые вы легко найдете , например, приложение для мобильного чата

...