1 писать приложение подобного типа не через поток ввода вывода - бред.
2 в кратце прога работает так:
1 - ждет подключения от клиента
2- получает подключение от клиента и выводит его в отдельный сокет "ss
3- создает удаленный сокет для работы с удаленным узлом "outsoc"
4- создает для них базовые потоки ввода вывода "networkstream"
dataavaible проверяет есть ли в потоке что прочесть, если есть читает первые 2 байта щитает длинну пакета и читает сам пакет
нужно понимать что поток ввода вывода все время "на приеме" и все пакеты в нем склеившиеся
Добавлено через 4 минуты
Socket ss = ssockclient.Accept();
Цитата:
Метод Accept синхронно извлекает первый ожидающий запрос из очереди запросов на подключение у прослушивающего сокета, а затем создает и возвращает новый объект Socket.Этот возвращенный объект Socket нельзя использовать для приема каких-либо дополнительных подключений из очереди на подключение.Однако можно вызвать метод RemoteEndPoint возвращенного объекта Socket, чтобы идентифицировать сетевой адрес и номер порта удаленного узла.
|