Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 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.
Паровоз

Паровоз (статус: 10-ый класс), 31 января 2010, 19:26 [#2]:

http://www.delphikingdom.ru/asp/viewitem.asp?catalogid=1021
http://www.delphikingdom.ru/asp/viewitem.asp?catalogid=1060
Жикльор

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

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 16:46
Выполнено за 0.02 сек.