|
Вопрос # 3 719/ вопрос открыт / |
|
Здравствуйте, уважаемые эксперты!
Поставил перед собой цель сделать морской бой онлайн. То есть 2 компа играют между собой через интернет. Как организовать пересылку данных? Я никогда с сокетами не сталкивался, и может кто-то хоть объяснит?
Примечание #1 (31 января 2010, 17:52): У меня будут 2 булеановые матрицы, где будут изображено положение кораблей. Мне нужно чтобы я мог и отправить матрицу и принять для проверки, попали ли по мне или нет, и наоборот.
 |
Вопрос задал: Жикльор (статус: 5-ый класс)
Вопрос отправлен: 31 января 2010, 17:48
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 6; последнее сообщение — 1 февраля 2010, 00:05; участников в обсуждении: 5.
|
Егор (статус: 10-ый класс), 31 января 2010, 19:15 [#1]:
всю-то матрицу зачем посылать?
надо как в случае с тетрадками - послал координаты (Б-2) и ответ получил (промах-попал-убил)
а если всю матрицу посылать...
это не красиво, много лишнего и притом, небезопасно (в смысле, сжульничать можно)
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
— Donald E. Knuth.
|
|
Жикльор (статус: 5-ый класс), 31 января 2010, 19:50 [#3]:
Ну я думал всю матрицу посылать для страховки. Например баг в игре и нужно синхронизировать положения кораблей.
Если бы строители строили дома так, как программисты пишут программы, то первый же дятел уничтожил бы цивилизацию.
|
|
Мережников Андрей (статус: Абитуриент), 31 января 2010, 19:58 [#4]:
чем больший объем информации пересылается, тем выше вероятность появления багов
|
|
Жикльор (статус: 5-ый класс), 31 января 2010, 20:25 [#5]:
А как можно переправить текст. Я чтобы понять эти сокеты хочу сделать что-то похожее на чат. У меня есть edit. Как отправить его текст через Send? Я уже соединился, просто как занести этот текст в буфер для отправки?
Если бы строители строили дома так, как программисты пишут программы, то первый же дятел уничтожил бы цивилизацию.
|
|
Вадим К (статус: Академик), 1 февраля 2010, 00:05 [#6]:
в целом, если закрыть глаза на некоторые особенности, отправка через send ничем не отличается от записи в файл. Единственное, что надо - указать буфер и размер. а что в буфере будет - сокет не волнует. абсолютно.
Но есть тут одна мелочь, о которой забывают многие сетевые писатели, а потом плачутся. Почему то считают, что если с одной стороны послать два пакета по 100 байт, то с другой стороны оно именно так и прочитается - два по сто . это большое заблуждение для протокола TCP. на другой стороне может быть один пакет на 200 байт, а может быть три по 40 и один на 80. Единственное, что гарантируется порядок байт, что они не будут перепутаны и что либо данные приходят, либо нет. А что где то по средине пропустится байт - это уже проблемы операционной системы и в нормальных ОС такого давно нет и быть не может.
Галочка "подтверждения прочтения" - вселенское зло.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|