2009-10-12 2 views
0

Я написал игру на OpenGl и хочу сделать это многопользовательской игрой. Я работаю над Windows, но я на самом деле C# -программист. Оправа программирование идет слишком легко в C#, но в C++ я не могу решить :(Программирование сокетов для Windows C/C++

Какие библиотеки я должен использовать? Winsock и Winsock2 библиотеки слишком сложны. Есть ли библиотека проста в использовании, как в # System C. Net.Sockets?

С наилучшими пожеланиями.

ответ

4

Beej's Guide to Network Programming рекомендуется в ряде ответов SO, например binding-a-socket-to-port-80-in-ansi-c. Попробуйте перебирать примеры, и, может быть, вы обнаружите, что это не слишком сложно. Windows winsock очень совместим со стандартной библиотекой сокетов. Учебник содержит инструкции для programming sockets under Windows.

+1

Согласен - для Cmptrbto немного наивно полагать, что существующие библиотеки слишком сложны, когда кажется, что они не провели большого расследования. – MBillock

0

Вы можете посмотреть сетевые разделы Poco libraries. Они не обязательно будут похожи на C#, но они ориентированы на ООП и изолируют вас как можно больше от деталей сетевого программирования. Они также кросс-платформенные, это проблема.

[Обязательно обратите внимание, что вы, вероятно, следует подвергать себя сказал подробности на какой-то момент.]

4

Посмотрите the ACE framework. Он существует довольно давно.

+0

Я использовал структуру ACE и ее весьма полезную. Используйте ссылку, которую дал предыдущий плакат. Легко впитываться, если вы знаете, что вы хотите выбраться из него. – Gentoo

+0

Он слишком велик для того, что ему нужно делать в играх. – Charles

+0

OP может решить это после просмотра. Я признаю, что он довольно большой. – stefaanv

0

Вы должны изучить Raknet, если вас интересуют в сети для игр; или Winsock/BSD, если вы действительно хотите узнать все под капотом!

1

Если вы ищете простую оболочку, чтобы сделать программирование сокета красиво объектно-ориентированным, вы можете проверить sockets wrapper layer I wrote как часть моей кросс-платформенной библиотеки сообщений. Было бы довольно просто разорвать этот код и повторно использовать его. Вас может даже интересовать rest of the library.