我一直在网上搜索,以找到有关C ++套接字编程的教程。我找到了其中的一些,但没有一个能帮我制作一台我可以使用的服务器。
我希望用C ++创建一个可以发送和接收数据包的服务器,但我能找到的所有教程/示例都是关于发送/接收字符串。
我有平均的C ++经验。我正在使用Ubuntu(Linux)的计算机。
如果有人可以解释我如何制作一个发送/接收包而不是字符串的服务器,或者指出一个很好的教程解释我如何,最好是使用POSIX-api,它会非常棒,对我帮助很大。
-ojima
修改的
(我显然说'包',但我的意思是'包')
所以,让我们说我想拿一个Java游戏,比如MineCraft,并用C ++编写它的服务器。根据MinecraftCoalition,(Java)客户端发送包含数据的“数据包”。 我想知道,我如何接收(或解释)这些数据包?
答案 0 :(得分:2)
如果通过 package 你正在谈论一块二进制数据,那么它很简单,但你必须知道你要发送的架构的endianness - 可能与接收器不同,可能意味着数据未正确重建。
你可能最好看一下像Boost.Asio这样的东西,它将采取这一步骤,并专门针对C ++。
答案 1 :(得分:1)
如果你想发送原始数据(一个char数组),C字符串的区别是微妙的(你必须记住终止'\ 0')。这就是大多数文档无法真正发挥作用的原因。
我的建议是:
我不相信(但这是个人观点,可能不是共享的)大多数用例都需要处理原始套接字,而且一些C ++抽象总是令人愉快。
答案 2 :(得分:0)
套接字将仅在字节上发送和接收数组。转换为字符串很容易,因此通常将其作为示例。您可以将这些字节数组转换为您的包。
答案 3 :(得分:0)
尝试http://www.linuxhowtos.org/C_C++/socket.htm获取基本的客户端 - 服务器教程。