C++ 简单的跨平台TCP IP API?

C++ 简单的跨平台TCP IP API?,c++,c,api,tcp,C++,C,Api,Tcp,我不想使用像QT或wxWidgets这样的大API。我只想要能在Android、iOS、Windows、Mac、Linux上运行的简单套接字 我正在制作一个事件驱动的纸牌游戏,所以TCP是最好的 本质上,我只想连接和验证客户端。之后,我只需要能够向他们发送消息。我打算使用可靠的UDP,但TCP似乎更合适 如果有人也有tcp聊天应用程序之类的基本教程,我将不胜感激 谢谢 我只想能够使用、send()、recv等,而不用担心WINSOCK或POSIX,也许可以尝试BOOST Asio 重量够轻吗?

我不想使用像QT或wxWidgets这样的大API。我只想要能在Android、iOS、Windows、Mac、Linux上运行的简单套接字

我正在制作一个事件驱动的纸牌游戏,所以TCP是最好的

本质上,我只想连接和验证客户端。之后,我只需要能够向他们发送消息。我打算使用可靠的UDP,但TCP似乎更合适

如果有人也有tcp聊天应用程序之类的基本教程,我将不胜感激

谢谢

我只想能够使用、send()、recv等,而不用担心WINSOCK或POSIX,

也许可以尝试BOOST Asio


重量够轻吗?

我已经围绕BSD套接字API制作了一个非常简单、轻量级的包装器。它仅使用服务器和客户端进行TCP/IP通信(服务器可以选择接受多个客户端连接)


您可以在这里找到:(不要介意Objective-C类,只使用tcpconnect.h和tcpconnect.C):

Perharps Boost.Asio()或基于Asio的这个类可能对您有用。

Boost::Asio似乎很复杂。这个例子是使用智能指针和其他一些看起来不必要的东西。我只想要一些东西或一个简单的教程,让我可以连接发送接收和断开连接。也许就用POSIX吧。如果你有正确的依赖项,POSIX代码几乎可以在每一个操作系统上编译。那么为什么有人要在windows上破例使用winsock呢?尽管它们工作得很好,但berkeley sockets在windows上永远无法真正扩展,因为只有select(2)可用。没有什么类似于epoll或kqueue,要使用I/O完成端口,您必须使用WSARecv而不是recv等。您可以尝试使用或。liblacewing似乎很完美!谢谢@James McLaughlin Lacewing在iOS上工作吗?好的,只有客户机和服务器类。如果没有,您是否计划为此添加支持?谢谢@从理论上讲,它应该工作得很好,但我从未尝试过为iOS编译它。如果没有,它肯定会在不久的将来添加。我也没有看到发送和接收数据的功能。如果您的Windows版本支持BSD套接字。(因为它只是标准的C,所以应该足够便携,尽管我不知道Windows在缺少标准功能的意义上会有什么样的设计错误)。如果有效,很好,如果无效,我将删除我的答案。因为当我的函数返回文件描述符时,你可以写()和读()。