Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Взаимодействие между сервером на c++ и клиентом на c#(Unity3d)
|
|||
|---|---|---|---|
|
#18+
Вопрос1 подскажите как организовать передачу сообщений между ними. на клиенте есть события Update(при отрисовке) и OnGUI(при действиях пользователя я так понял). При Update должен получать сообщения от сервера и корректировать обстановку, а при OnGUI отправлять сообщения серверу о действиях клиента(новые координаты). Вопрос2 не будет ли корректировка обстановки опять вызывать Update() при которой опять будет происходить корректировка обстановки и т.д. Вопрос3 правильно ли организован сервер? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. Вопрос4 ну и клиент? Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. Все это работает сек 20-30 и затем останавливается пока не выключу сервер ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2014, 20:36 |
|
||
|
Взаимодействие между сервером на c++ и клиентом на c#(Unity3d)
|
|||
|---|---|---|---|
|
#18+
я забыл сказать что работает оно только на сервере.т.е сервер принимает сообщения и обрабатывает их и отправляет назад.а вот на клиенте уже не обрабатываются ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.10.2014, 20:46 |
|
||
|
Взаимодействие между сервером на c++ и клиентом на c#(Unity3d)
|
|||
|---|---|---|---|
|
#18+
Картежник, Вопрос1 подскажите как организовать передачу сообщений между ними. на клиенте есть события Update(при отрисовке) и OnGUI(при действиях пользователя я так понял). При Update должен получать сообщения от сервера и корректировать обстановку, а при OnGUI отправлять сообщения серверу о действиях клиента(новые координаты). По любому из существующих протоколов общения. Например, по XMPP (сложный). Или STOMP (очень простой). Вопрос2 не будет ли корректировка обстановки опять вызывать Update() при которой опять будет происходить корректировка обстановки и т.д. Это уже другие проблемы. Вопрос3 правильно ли организован сервер? Ээээ.. проверим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2014, 18:55 |
|
||
|
Взаимодействие между сервером на c++ и клиентом на c#(Unity3d)
|
|||
|---|---|---|---|
|
#18+
В коде клиента ничего не понял, там полный бред какой-то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2014, 19:01 |
|
||
|
Взаимодействие между сервером на c++ и клиентом на c#(Unity3d)
|
|||
|---|---|---|---|
|
#18+
MasterZivВ коде клиента ничего не понял, там полный бред какой-то. это просто c# ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2014, 21:12 |
|
||
|
Взаимодействие между сервером на c++ и клиентом на c#(Unity3d)
|
|||
|---|---|---|---|
|
#18+
с серверной частью вроде все нормально стало.код переделал.теперь он и получает и отправляет.а вот с клиентом проблемы.я думаю из за того что он пока не получит определенное кол-во байтов ставит в ожидание всю программу(игру) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.10.2014, 23:36 |
|
||
|
Взаимодействие между сервером на c++ и клиентом на c#(Unity3d)
|
|||
|---|---|---|---|
|
#18+
ИзопропилMasterZivВ коде клиента ничего не понял, там полный бред какой-то. это просто c# ЭТО я понял. Это -- единственное, что я понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2014, 00:29 |
|
||
|
Взаимодействие между сервером на c++ и клиентом на c#(Unity3d)
|
|||
|---|---|---|---|
|
#18+
Картежникс серверной частью вроде все нормально стало.код переделал.теперь он и получает и отправляет.а вот с клиентом проблемы.я думаю из за того что он пока не получит определенное кол-во байтов ставит в ожидание всю программу(игру) Ты зря думаешь, что это -- проблема с клиентом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2014, 00:30 |
|
||
|
Взаимодействие между сервером на c++ и клиентом на c#(Unity3d)
|
|||
|---|---|---|---|
|
#18+
MasterZiv, если я сделаю непрерывную передачу сообщений и с сервера на клиент и обратно,будет ли это правильно?иначе по другому не получается ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2014, 09:40 |
|
||
|
Взаимодействие между сервером на c++ и клиентом на c#(Unity3d)
|
|||
|---|---|---|---|
|
#18+
КартежникMasterZiv, если я сделаю непрерывную передачу сообщений и с сервера на клиент и обратно,будет ли это правильно?иначе по другому не получается что это значит? она и так такая должна быть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.10.2014, 14:42 |
|
||
|
Взаимодействие между сервером на c++ и клиентом на c#(Unity3d)
|
|||
|---|---|---|---|
|
#18+
MasterZiv, а разве сервер не ждет при len=recv(clients[number].Sock,msg1,sizeof(msg1),0); и я сделал по два потока для каждого на сервере один для приема другой для отправки,тот который для отпраквки отправляет беспрерывно,а тот который для приема ждет пока не поступит сообщение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2014, 20:43 |
|
||
|
Взаимодействие между сервером на c++ и клиентом на c#(Unity3d)
|
|||
|---|---|---|---|
|
#18+
Картежника разве сервер не ждет при len=recv(clients[number].Sock,msg1,sizeof(msg1),0); сокет может вернуть меньше чем sizeof(msg1) самому "сообщение" собирать нужно - или на разделителях основываясь, или по длине, прямо или косвенно переданной в заголовке ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.10.2014, 21:39 |
|
||
|
Взаимодействие между сервером на c++ и клиентом на c#(Unity3d)
|
|||
|---|---|---|---|
|
#18+
Картежника разве сервер не ждет при len=recv(clients[number].Sock,msg1,sizeof(msg1),0); Если данных нет -- ждёт. Есть -- не ждёт. Картежники я сделал по два потока для каждого на сервере один для приема другой для отправки,тот который для отпраквки отправляет беспрерывно,а тот который для приема ждет пока не поступит сообщение. Как-то я этого не видел... Ну хорошо, если так. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2014, 10:07 |
|
||
|
Взаимодействие между сервером на c++ и клиентом на c#(Unity3d)
|
|||
|---|---|---|---|
|
#18+
ИзопропилКартежника разве сервер не ждет при len=recv(clients[number].Sock,msg1,sizeof(msg1),0); сокет может вернуть меньше чем sizeof(msg1) самому "сообщение" собирать нужно - или на разделителях основываясь, или по длине, прямо или косвенно переданной в заголовке Ребята, я хочу заметить ещё раз, что никаких "сообщений" в TCP нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2014, 10:08 |
|
||
|
Взаимодействие между сервером на c++ и клиентом на c#(Unity3d)
|
|||
|---|---|---|---|
|
#18+
MasterZivРебята, я хочу заметить ещё раз, что никаких "сообщений" в TCP нет. если ты внимательно читал мой пост - речь идёт о сообщениях прикладного уровня(поверх tcp) а топикстартер с этой задачей бьётся уже давно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2014, 10:28 |
|
||
|
Взаимодействие между сервером на c++ и клиентом на c#(Unity3d)
|
|||
|---|---|---|---|
|
#18+
Изопропил, Я знаю, я просто хотел ещё раз это подчеркнуть. Для НЕГО. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.10.2014, 10:36 |
|
||
|
Взаимодействие между сервером на c++ и клиентом на c#(Unity3d)
|
|||
|---|---|---|---|
|
#18+
на клиенте формируется сообщение разной длиной, может быть и меньше 256(оно ограничено словами begin и the_end,между этими словами тело сообщения), и больше,затем с клиента делаю отправку на сервер по 256 байт, не достающие байты последнего соощения заполняю пробелами. на сервере все собирается в переменную S до тех пор пока не соберется полностью сообщение (пока не будет begin и the_end). Код: plaintext 1. 2. 3. 4. вот каждый раз когда приходит 256 байтов и я их добавляю к S то между ними добавляется еще какие то символы непонятные,они уже идут в msg,забыл,то ли вначале,то ли в конце. и на клиенте и на сервере количество символов 256 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 06:20 |
|
||
|
Взаимодействие между сервером на c++ и клиентом на c#(Unity3d)
|
|||
|---|---|---|---|
|
#18+
на сервере вывел Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Для первого приема 256 байтов вывело следующее Код: plaintext 1. потом посчитал количество букв(не цифр) в msg = 20(то строке 236 байтов под цифры,и 20*2=40 байтов для букв) выходит что при при добавлении в строку оно все перекодируется в другую кодировку(кол-во байтов меняется),и не могу понять связано это как то с тем что у меня появляются лишние символы(непонятные типа ММММхММХФМММММ,это в отладчике так показывает,а в консоле специфические символы,которых нет на клаве) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 07:18 |
|
||
|
Взаимодействие между сервером на c++ и клиентом на c#(Unity3d)
|
|||
|---|---|---|---|
|
#18+
опечатку сделал,просто у себя пишу строчными, а здесь прописными решил написать Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 07:30 |
|
||
|
Взаимодействие между сервером на c++ и клиентом на c#(Unity3d)
|
|||
|---|---|---|---|
|
#18+
[Картежник]на клиенте формируется сообщение разной длиной, может быть и меньше 256(оно ограничено словами begin и the_end,между этими словами тело сообщения), и больше,затем с клиента делаю отправку на сервер по 256 байт, не достающие байты последнего соощения заполняю пробелами. а зачем? для пущей лучшести? на сервере все собирается в переменную S до тех пор пока не соберется полностью сообщение (пока не будет begin и the_end). Код: plaintext 1. 2. 3. 4. вот каждый раз когда приходит 256 байтов и я их добавляю к S то между ними добавляется еще какие то символы непонятные,они уже идут в msg,забыл,то ли вначале,то ли в конце. и на клиенте и на сервере количество символов 256[/quot] ой я устал уже... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 08:00 |
|
||
|
Взаимодействие между сервером на c++ и клиентом на c#(Unity3d)
|
|||
|---|---|---|---|
|
#18+
Картежникопечатку сделал,просто у себя пишу строчными, а здесь прописными решил написать Код: plaintext 1. Тебе по-видимому нужно писать на каком- то другом языке программирования, С для тебя не подходит. Ну или хотя бы для начала язык подучить, ты основ не знаешь, ты сетевой сервер так не напишешь на шару, не получится. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 08:08 |
|
||
|
Взаимодействие между сервером на c++ и клиентом на c#(Unity3d)
|
|||
|---|---|---|---|
|
#18+
MasterZivКартежникопечатку сделал,просто у себя пишу строчными, а здесь прописными решил написать Код: plaintext 1. Тебе по-видимому нужно писать на каком- то другом языке программирования, С для тебя не подходит. Ну или хотя бы для начала язык подучить, ты основ не знаешь, ты сетевой сервер так не напишешь на шару, не получится. Ты прав я пришел из Дельфи. но как так определил по одной этой строчке что ли?а где там ошибка? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 08:32 |
|
||
|
Взаимодействие между сервером на c++ и клиентом на c#(Unity3d)
|
|||
|---|---|---|---|
|
#18+
КартежникMasterZivпропущено... Тебе по-видимому нужно писать на каком- то другом языке программирования, С для тебя не подходит. Ну или хотя бы для начала язык подучить, ты основ не знаешь, ты сетевой сервер так не напишешь на шару, не получится. Ты прав я пришел из Дельфи. но как так определил по одной этой строчке что ли?а где там ошибка? Код: plaintext 1. Тут ты печатаешь константу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 09:29 |
|
||
|
Взаимодействие между сервером на c++ и клиентом на c#(Unity3d)
|
|||
|---|---|---|---|
|
#18+
MasterZiv, что там константа 256 это я знаю.можно было и не выводить sizeof(msg).но вопрос о другом.почему добавляются дополнительные непонятные символы,это утечка в памяти?Каждый раз после запуска программы, при первом приеме всего сообщения, всегда в одном и том же месте одни и те же непонятные символы в одном и том же кол-ве. После второго приема всего сообщения(т.е. begin и the_end) идет смещение,добавляются новые непонятные символы,но все в том же месте ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.10.2014, 09:37 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=54&tid=2019250]: |
0ms |
get settings: |
12ms |
get forum list: |
15ms |
check forum access: |
5ms |
check topic access: |
5ms |
track hit: |
49ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
| others: | 15ms |
| total: | 185ms |

| 0 / 0 |
