forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   PureBasic (http://forum.boolean.name/forumdisplay.php?f=90)
-   -   Сервер и клиент (http://forum.boolean.name/showthread.php?t=18902)

moka 02.02.2014 00:10

Ответ: Сервер и клиент
 
Русский не отображается - не используй русский в приложениях, вообще.
Подвисает изначально, потом отвисает, потом совсем подвисает (Not Responding).

L-ee-X 02.02.2014 00:23

Ответ: Сервер и клиент
 
Цитата:

Сообщение от moka (Сообщение 273543)
Русский не отображается - не используй русский в приложениях, вообще.
Подвисает изначально, потом отвисает, потом совсем подвисает (Not Responding).

На счет языка учту. спс. А по части подключения, забыл порты пробросить, повтори если не трудно :)

Жека 02.02.2014 08:46

Ответ: Сервер и клиент
 
Я запустил. Окошко открылось, снизу текст "Сервер отключен...". Более ничего не происходит.

L-ee-X 02.02.2014 09:12

Ответ: Сервер и клиент
 
Цитата:

Сообщение от Жека (Сообщение 273556)
Я запустил. Окошко открылось, снизу текст "Сервер отключен...". Более ничего не происходит.

У меня было подключение на сервере IP 37.112.202.*** имя клиента PC-NRB
Работает, подключается, все норм :) Спасибо :)
При запуске может немного подвисать только потому, что если включен антивирусник.
На счет того что пишет что сервер отключен, я забыл исправить и добавить в статус бар надпись что клиент успешно подключен.
Исправил, перезалил, проверьте. Пост #15

Жека 02.02.2014 16:24

Ответ: Сервер и клиент
 
Ага, всё нормально подключилось, никаких подвисаний нет, windows 8.1.

L-ee-X 02.02.2014 16:25

Ответ: Сервер и клиент
 
Ага вижу, спасибо :) Будем дальше курить. Главное подключение есть :)

L-ee-X 05.02.2014 14:03

Ответ: Сервер и клиент
 
Подскажите как правильно передать и получить данные структуры

Пётр 06.02.2014 15:01

Ответ: Сервер и клиент
 
Смотря какая структура.
В простейшем случае.
Код:

SendNetworkData(ID, @Struct, SizeOf(MyStruct))
Но будет работать только со структурами имеющими статические поля. Пример передачи и приема структуры (в ней заголовки пакетов). http://purebasic.info/phpBB3ex/viewtopic.php?f=8&t=3035

L-ee-X 06.02.2014 18:25

Ответ: Сервер и клиент
 
Цитата:

Сообщение от Пётр (Сообщение 273784)
Смотря какая структура.
В простейшем случае.
Код:

SendNetworkData(ID, @Struct, SizeOf(MyStruct))

Это понятно, а как принять данные и заполнить структуру этими данными?

Пётр 06.02.2014 23:19

Ответ: Сервер и клиент
 
Вариантов много.
Можно прямо в структуру записать принятые данные (при условии что в ней все поля статические)
Код:

ReceiveNetworkData(Connect, @Info.NetPacket_Data, SizeOf(NetPacket_Data))
А можно принять в память, и структуре присвоить указатель на эту память.
Код:

*Data.NetPacket_Data = *BuffInfo\Buff

L-ee-X 06.02.2014 23:27

Ответ: Сервер и клиент
 
Спасибо. Уже разобрался. Продвижение есть. В топике что ты мне скинул конечно все бы ничего, но уж не особо я люблю разбираться в такой куче кода особенно если он писан другим человеком (Вот прокоментировать бы его тогда да), а так даже заморачиваться не стал. В итоге поломал не много голову и все же мне удалось записать данные переданной структуры по сети. Но тем ни менее за ссылку спасибо. На досуге почитаю.

Да я в принципе так и сделал сразу данные записал в структуру.
А на счет статических полей есть решение?

Пётр 07.02.2014 00:02

Ответ: Сервер и клиент
 
Если в структуре не все статические поля, то в ней только ссылки на динамические данные (строки, массивы, списки и т. д.) и тогда нельзя взять и просто передать структуру.

Тот код реализует свой протокол, что необходимо если не хочется заморачиваться с контролем приема данных, ведь за один вызов ReceiveNetworkData() может быть принята не вся посылка и сразу несколько посылок. Тот код разделяет посылки и ожидает приема если посылка не до конца принята.

L-ee-X 07.02.2014 05:09

Ответ: Сервер и клиент
 
Цитата:

Сообщение от Пётр (Сообщение 273817)
Если в структуре не все статические поля, то в ней только ссылки на динамические данные (строки, массивы, списки и т. д.) и тогда нельзя взять и просто передать структуру.

Тот код реализует свой протокол, что необходимо если не хочется заморачиваться с контролем приема данных, ведь за один вызов ReceiveNetworkData() может быть принята не вся посылка и сразу несколько посылок. Тот код разделяет посылки и ожидает приема если посылка не до конца принята.

Все решил. Спасибо

Жека 07.02.2014 09:37

Ответ: Сервер и клиент
 
Вложений: 1


Часовой пояс GMT +4, время: 02:01.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot