| 
| 
 | Вопрос # 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. Единственное, что гарантируется порядок байт, что они не будут перепутаны и что либо данные приходят, либо нет. А что где то по средине пропустится байт - это уже проблемы операционной системы и в нормальных ОС такого давно нет и быть не может. Галочка "подтверждения прочтения" - вселенское зло. |  Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |