Загрузка...

C # source code implementation of the simplest server and client via tcp protocol.

Thread in C# created by adeptichhhe Feb 13, 2018. 1333 views

  1. adeptichhhe
    adeptichhhe Topic starter Feb 13, 2018 салютую 23 Jan 28, 2018
    Если будут какие нибудь вопросы спрашивайте все распишу все обьясню.

    Клиент:

    Code

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Net.Sockets;
    using System.Net;

    namespace ConsoleApplication1
    {
    class Program
    {
    static Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
    static void Main(string[] args)
    {
    Console.WriteLine("YTUPS Client----->");
    socket.Connect("127.0.0.1", 80);
    string message = Console.ReadLine();
    byte[] buffer = Encoding.ASCII.GetBytes(message);
    socket.Send(buffer);
    Console.ReadLine();
    Console.ReadLine();
    }
    }
    }


    Сервер:

    Code

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Net.Sockets;
    using System.Net;

    namespace ConsoleApplication1
    {
    class Program
    {
    static Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);

    static void Main(string[] args)
    {

    string b = "#start";
    Console.WriteLine("YTUPS Server--->");
    socket.Bind(new IPEndPoint (IPAddress.Any , 80));
    socket.Listen(5);
    Socket client = socket.Accept();
    Console.WriteLine("#connection conducted");
    byte[] buffer = new byte[1024];
    client.Receive(buffer);
    Console.WriteLine(Encoding.ASCII.GetString(buffer));


    byte[] b1 = Encoding.ASCII.GetBytes(b);

    if(b1 == buffer)
    {

    Console. WriteLine("ZBS");

    }

    Console.ReadLine();
    Console.ReadLine();

    }
    }
    }

     
  2. renameduser_110248
    Как правильно принимать пакеты когда изначально не знаешь размер пакета который пришёл
     
  3. adeptichhhe
    adeptichhhe Topic starter Feb 13, 2018 салютую 23 Jan 28, 2018
    кусками
     
  4. renameduser_110248
    Можно пример?
     
  5. adeptichhhe
    adeptichhhe Topic starter Feb 14, 2018 салютую 23 Jan 28, 2018
    постараюсь но не обещаю поскольку я сам не спец в этом деле мне еще многое предстоит выучить,есть к чему идти а насчет вопросов по данному клиенту и серверу без проблем отвечу)
     
  6. buga_inactive_inactive
    Разделение на части тут не причем, максимальный размер "пакета" составляет максимальную емкость инт32, что почти 2+ гб.
    Все зависит как у тебя передает сервер, если он передает полный пакет(не частями), то передатьвать пока у него не закончится возможность передать(данные закончатся) или возможность запись в сетевой поток(соединение отвалится или еще что-то).
    А клиент соответственно должен проверять свойство Available, оно дает возможность узнать количество байтов в массиве доступных для чтения.
    Т.е. ты можешь проверять к примеру после подключения, к примеру, 3 минуты - появляются ли новые данные или нет, читать их и записывать в переменную(например, StringBuilder и т.д.), а потом уже создавать событие, или как-то еще обрабатывать все это действо.
    Реализацию можно сделать как угодно, все зависит от задач и ресурсов.
     
  7. MrCrypto
    MrCrypto Feb 20, 2018 170 Dec 1, 2016
    100 лет искал подобную тему ради вопроса :D Слушай помоги пожалуйста как раз в 1 единственном вопросе, есть чат ( клиент-сервер) что бы он пахал во всем интернете естественно нужно открыть порт и указать IP , открыл порт , пробросил - вот упирается софтина и все, а по локалке пашет, что не так я делаю? По идее все изи а такая тупость...
     
  8. adeptichhhe
    adeptichhhe Topic starter Feb 20, 2018 салютую 23 Jan 28, 2018
    как знакомо))),кароч я думаю что проблема в том что сервер не видит клиент потому что у тебя провайдер выдает белый айпи,папробуй его прописать,узнать его можно на 2ip.ru заодно проверь на том же сайте точно ли открыт порт потому что я вот все сделал как надо но у меня не открывается порт
     
  9. MrCrypto
    MrCrypto Feb 21, 2018 170 Dec 1, 2016
    спасибо друг) у меня как раз наоборот да я был на 2ip - порт открыт, но я кажется сам дотюхал что не так - у меня же динамику провайдер выдает видимо вот и ответ)
     
  10. adeptichhhe
    adeptichhhe Topic starter Feb 21, 2018 салютую 23 Jan 28, 2018
    пиши результат,если не поможет то буду рад помочь
     
  11. MrCrypto
    MrCrypto Feb 21, 2018 170 Dec 1, 2016
    большое спасибо)
     
  12. feiserak
    feiserak Feb 26, 2018 94 May 31, 2013
    Благодарочка, помогло для решение лабы)
     
  13. adeptichhhe
    adeptichhhe Topic starter Feb 26, 2018 салютую 23 Jan 28, 2018
    а я то думал нафиг не кому не понадобится))
     
  14. ErikSatie
    ErikSatie Feb 26, 2018 907 Mar 11, 2017
  15. adeptichhhe
    adeptichhhe Topic starter Feb 26, 2018 салютую 23 Jan 28, 2018
    ооо ты нашел плагиата крос)))
     
  16. ErikSatie
    ErikSatie Feb 26, 2018 907 Mar 11, 2017
    может ты плагиат?)
     
  17. adeptichhhe
    adeptichhhe Topic starter Feb 26, 2018 салютую 23 Jan 28, 2018
    ну если тебе не в падлу можешь там целое расследование провести и да кстати на ютубе полно такого материала,прикол в том что на лолзе об этом мало пишут и как показала практика есть люди которые искали этот материал
     
  18. adeptichhhe
    adeptichhhe Topic starter Feb 26, 2018 салютую 23 Jan 28, 2018
    ну если тебе не в падлу можешь там целое расследование провести и да кстати на ютубе полно такого материала,прикол в том что на лолзе об этом мало пишут и как показала практика есть люди которые искали этот материал
     
Top
Loading...