BugTraq.Ru
Русский BugTraq
https://bugtraq.ru/lj/archive/2011/0206.0241.html

сокетное
02.06.11 02:41 // оригинал
Последняя лаба третьего курса, простенькое взаимодействие между консольным сервером и диалоговым клиентом через сокеты. Как обычно, первые сдающие проскакивают без строго соответствия требованиям (традиционная привилегия первых рядов), дальше начинается развлекуха. Отдельный цирк - хоровая сдача голых сокетов при том, что на лекциях давалась только MFCшная обертка, ну это ладно, даже веселее. Долго терпел клоны, наконец стал жестко требовать обязательного ответа сервера с передачей подтверждений или всякой полезной информации типа количества потоков. Дальше конвейер - смотрю в код серверной оберточной функции Receive (имя условное), наблюдаю отсутствие send после recv (и аналогичного симметричного recv в условной клиентской Send), отправляю пациента на следующую итерацию.

И вот подтянулась следующая итерация, и у меня аж на несколько минут закончились слова. В этой новой вершине студенческой мысли народ, видимо, побоялся трогать запредельные для своего понимания внутренности оберточных функций и воспринял их как пришедшие на руки карты, с которыми и нужно играть. В результате в ситуациях, когда сервер что-то должен ответить, происходит милый финт ушами - клиент прикидывается сервером, запуская Receive (ее реализация - отдельная песня, при каждом ее вызове происходит полный жизненный цикл серверного сокета, от создания до закрытия), сервер клиентом и шлет ответ через оберточную Send на фиксированный адрес 127.0.0.1 (клиенты ж всегда с локалхоста приходят).

 
теги: студень  |  обсудить  |  все отзывы (0)  |  обсудить в LJ [1557]
назад «  » вперед

аналогичные материалы
викиисключительное // 20.05.20 21:20
закопать стюардессу // 19.11.15 18:53
роботокурсовое // 18.06.15 03:18
турнирнокурсовое // 10.02.15 17:11
преподавательское // 15.03.13 21:46
шарпоплюсноучебное // 31.10.12 18:24
лабораторное // 14.10.12 00:01
третьекурсное // 21.08.12 17:08
координатное // 20.06.12 15:22
стильноименованное // 13.06.12 16:38
 
последние записи
безоблачнопарольное // 22.03.22 23:05
объективноапгрейдное // 25.02.22 21:07
умнозарядное // 21.02.22 15:55
облачночитальное // 16.02.22 16:21
каникулярное // 21.01.22 01:02
клавиатурнопоточное // 05.01.22 15:35
мышинопоточное // 04.01.22 22:54
зарядное // 04.01.22 22:53
стартофинишное // 24.10.21 03:59
основательное // 16.10.21 17:42



  Copyright © 2001-2022 Dmitry Leonov Design: Vadim Derkach