C++ C++;websockets服务器/客户端跨平台linux/windows

C++ C++;websockets服务器/客户端跨平台linux/windows,c++,websocket,C++,Websocket,我正在尝试使用Websocket客户端/服务器实现一个示例代码: 适用于windows和linux 支持多个客户端 没有额外的依赖项,纯C/C++易于使用的代码 例如,实现一个可以接受许多用户的聊天室,对于我了解WebSocket的工作原理并在我的项目中使用它们将是一个很好的基础 我看了,我看到了C++中WebSooCub的例子。 我使用的是使用MinGW编译器的Clion IDE,这些头文件不存在: #include <netinet/in.h> #include <ne

我正在尝试使用Websocket客户端/服务器实现一个示例代码:

  • 适用于windows和linux
  • 支持多个客户端
  • 没有额外的依赖项,纯C/C++易于使用的代码
例如,实现一个可以接受许多用户的聊天室,对于我了解WebSocket的工作原理并在我的项目中使用它们将是一个很好的基础

<>我看了,我看到了C++中WebSooCub的例子。

我使用的是使用MinGW编译器的Clion IDE,这些头文件不存在:

#include <netinet/in.h>
#include <netdb.h>

在C++中,这个代码甚至可以很好地实现WebSoClient/Server吗?我希望它在windows和linux上都能工作,并且没有外部依赖关系。只是纯C/C++。我看到的几个库(比如)对我来说太混乱和过于复杂,而且它们缺乏任何文档或示例。我一行代码都不懂。其他语言(如Java或C)中的WebSocket要简单得多。有人能告诉我正确的方向吗?

windows socket API与POSIX API非常相似,但如中所述,存在一些差异,并且在使用此API之前必须调用

关于标题,请使用
winsock2.h
。但是您不应该忘记在项目中包括套接字库(makefile/project参数或作为
#pragma comment(lib,“Ws2_32.lib”)


如果您需要可移植代码,您可能需要考虑

。Windows Socket API与POSIX一个非常类似,但也有一些不同,如所解释的,以及在使用该API之前必须调用。 关于标题,请使用

winsock2.h
。但不要忘记在项目中包含套接字库(makefile/project参数或as
#pragma comment(lib,“Ws2_32.lib”)


如果您需要可移植的代码,您可能需要考虑

获得WStRebug 的<代码>未定义的引用。什么是<代码>“WS2Y332?LIB”<代码>应该是什么?我需要设置一个路径或什么吗?它应该指的是在Stase32(不需要附加路径)的WS2Y32.DLL的DLL存根。.To lib应位于给定给链接器的路径之一(例如lib environment变量)。我不明白为什么我总是收到那些
未定义的引用
错误。我在这里发布了一个关于Clion安装boost的帖子。如果你能帮忙,我已经在这里发布了一个帖子。如果你能帮忙,问题已经缩小到这一点。我不明白如何链接
ws2_32
库。
pragma
是MSVC唯一的关键wordGetting
对WSAStartup的未定义引用
“Ws2_32.lib”
应该是什么?我需要放一个路径还是什么?它应该是指system32中Ws2_32.dll的dll存根(不需要额外的路径)。但是,to lib应该位于给定给链接器的路径之一(例如,LIB环境变量)。我不明白为什么我总是收到那些
未定义的引用
错误。我在这里发布了一个关于Clion安装boost的帖子。如果你能帮忙,我已经在这里发布了一个帖子。如果你能帮忙,问题已经缩小到这一点。我不明白如何链接
ws2_32
库。
pragma
是MSVC唯一的关键单词
#include <winsock.h>
or    
#include <winsock2.h>
CMakeFiles\server_client.dir/objects.a(server.cpp.obj): In function `main':
C:/Users/Shiro/ClionProjects/server_client/server.cpp:44: undefined reference to `listen@8'
C:/Users/Shiro/ClionProjects/server_client/server.cpp:58: undefined reference to `select@20'
C:/Users/Shiro/ClionProjects/server_client/server.cpp:66: undefined reference to `__WSAFDIsSet@8'
collect2.exe: error: ld returned 1 exit status