Попробуйте поискать в Google или Wikipedia.

ираюсь настроить небольшой клиент / серверный сервер в режиме TCP / IP, я использую VS2010, C # для разработки своих приложений, я много гуглил и мог найти некоторые исходники, но ни один из них не работает в Интернете, я Я могу получить некоторые ответы в своей локальной системе, то есть я запускаю свой сервер, затем прослушиваю свой собственный локальный хост (127.0.0.1), затем отправляю некоторые данные (например, используя telnet), он работает нормально, но когда я делаю то же самое через Интернет, я ничего не получить! Я хочу использовать порт 80, так как я хочу отправлять / получать данные http, я протестировал несколько исходных кодов, вот последний код, который я использовал (и он работает на localhost с telnet)

// код сервера:

form_load()
    IPAddress localAddress = IPAddress.Parse("127.0.0.1");
                Socket listenSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            IPEndPoint ipEndpoint = new IPEndPoint(localAddress, 80);

            // Bind the socket to the end point
            listenSocket.Bind(ipEndpoint);

            // Start listening, only allow 1 connection to queue at the same time
            listenSocket.Listen(1);
            listenSocket.BeginAccept(new AsyncCallback(ReceiveCallback), listenSocket);
            Console.WriteLine("Server is waiting on socket {0}", listenSocket.LocalEndPoint);

            // Start being important while the world rotates
            while (true)
            {
                 Console.WriteLine("Busy Waiting....");
                Thread.Sleep(2000);
            }

        public static void ReceiveCallback(IAsyncResult AsyncCall)
    {
         System.Text.ASCIIEncoding encoding = new System.Text.ASCIIEncoding();
        Byte[] message = encoding.GetBytes("I am a little busy, come back later!");

        Socket listener = (Socket)AsyncCall.AsyncState;
        Socket client = listener.EndAccept(AsyncCall);

        Console.WriteLine("Received Connection from {0}", client.RemoteEndPoint);
        client.Send(message);

        Console.WriteLine("Ending the connection");
        client.Close();
        listener.BeginAccept(new AsyncCallback(ReceiveCallback), listener);
    }

отправить данные (клиент), конечно, я не использовал этот код, правильно?

        public static string SendData()
    {
        TcpClient client = new TcpClient();
        client.Connect(IP, 80);
        StreamWriter sw = new StreamWriter(client.GetStream());
        StreamReader sr = new StreamReader(client.GetStream());

        //if statement evalutes to see if the user has selected to update the server
        //" " = update server
        //"" = do not update the server
        //if (updateData.Equals(""))
        //{
        //    space = "";
        //}
        //else if (!updateData.Equals(""))
        //{
        //    space = " ";
        //}
        //Refrences stream writer, username variable passed in from GUI
        //space variable provides update function: "" = dont update. " " = update database.
        sw.WriteLine("h");
        sw.Flush();
        //data send back from the server assigned to string variable 
        //string recieved = sr.ReadLine();
        return "";

    }

У меня будет серверный код на моем Сервере (winserver 2008R2), но в настоящее время я тестирую его на обычных ПК, что я делаю не так? Я хочу отправить какой-нибудь http-пакет из случайной системы (со случайным IP-адресом) t, на мой сервер (которому я знаю его IP-адрес), что мне делать? это возможно с TCP / IP или я должен сделать что-то еще? это связано со статическим IP? у меня обязательно должен быть статический IP? мой веб-сервер имеет статический IP-адрес, а мои клиенты - нет, это проблема? Я думаю, что у меня есть некоторые проблемы при определении портов и IP-адресов, как их настроить? мой сервер имеет определенный IP, но я не знаю IP моих клиентов, не могли бы вы объяснить мне его шаг за шагом? Спасибо

Ответы на вопрос(1)

Ваш ответ на вопрос