информационная безопасность без паники и всерьез подробно о проекте |
||||||||||||||||||||||
|
||||||||||||||||||||||
|
02.06.11 02:41 // оригинал Последняя лаба третьего курса, простенькое взаимодействие между консольным сервером и диалоговым клиентом через сокеты. Как обычно, первые сдающие проскакивают без строго соответствия требованиям (традиционная привилегия первых рядов), дальше начинается развлекуха. Отдельный цирк - хоровая сдача голых сокетов при том, что на лекциях давалась только MFCшная обертка, ну это ладно, даже веселее. Долго терпел клоны, наконец стал жестко требовать обязательного ответа сервера с передачей подтверждений или всякой полезной информации типа количества потоков. Дальше конвейер - смотрю в код серверной оберточной функции Receive (имя условное), наблюдаю отсутствие send после recv (и аналогичного симметричного recv в условной клиентской Send), отправляю пациента на следующую итерацию. И вот подтянулась следующая итерация, и у меня аж на несколько минут закончились слова. В этой новой вершине студенческой мысли народ, видимо, побоялся трогать запредельные для своего понимания внутренности оберточных функций и воспринял их как пришедшие на руки карты, с которыми и нужно играть. В результате в ситуациях, когда сервер что-то должен ответить, происходит милый финт ушами - клиент прикидывается сервером, запуская Receive (ее реализация - отдельная песня, при каждом ее вызове происходит полный жизненный цикл серверного сокета, от создания до закрытия), сервер клиентом и шлет ответ через оберточную Send на фиксированный адрес 127.0.0.1 (клиенты ж всегда с локалхоста приходят).
|
авто
венгрия
вырвиглаз
германия
глюки
греция
гуглемап
драйверы
египет
железки
журнализм
империя добра
испания
италия
кино
кипр
клоуны
книги
криворучки
оспорт
португалия
программизм
сайт
софт
стрим
студень
турция
уродцы
фото
франция
цацки
чехия
читалки
android
bq
e51
eeepc
from facebook
hd2
hpc
htc
ipad
iphone
onlime
vista
windows 10
windows 7
windows 8
yota
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|
|
|