用于 UDP 客户端的 Windows C 套接字编程
Posted
技术标签:
【中文标题】用于 UDP 客户端的 Windows C 套接字编程【英文标题】:Windows C socket programming for UDP client 【发布时间】:2012-02-05 07:46:19 【问题描述】:我正在尝试查找一些 Windows 套接字的示例程序。特别是,我有兴趣用 C(在 Visual Studio 中)编写一个使用 UDP 与服务器通信的客户端。我找不到任何具体的材料。我尝试了一些示例,但出现了一些链接错误。有没有可用的图书馆。请告诉我。 提前致谢。
【问题讨论】:
请就 SO 提出具体问题。您有示例代码以及我们可以帮助您解决的错误吗? 【参考方案1】:Apache Portable Runtime 支持套接字,它是跨平台的。
【讨论】:
【参考方案2】:我找到了一个简单的库,它提供了网络的实现,但它是用于 C++ 的。 (C++ Socket Class for Windows)。你可以看看它使用套接字的实现,或者只是使用它(有简单的客户端和服务器的例子)。
【讨论】:
我已经看过了。两件事:我想加快我的应用程序和 C++/Java 调用 malloc 并进行堆事务,这会减慢进程。所以,我正在考虑用 C 来实现所有东西。作为最坏的情况,我可以使用它。但是我得到了链接错误 LNK2019 错误错误 LNK2019: unresolved external symbol ___WSAFDIsSet@ 8 在函数 "public: bool __thiscall SocketSelect::Readable(class Socket const * const)" (?Readable@SocketSelect@@QAE_NQBVSocket@@@Z) c:\Users\saurabh17g\documents 中引用\visual studio 2010\Projects\ArdroneSocket\ArdroneSocket\Socket.obj 看起来我需要链接一个 DLL 来支持这个。你有什么想法吗? 您需要将 ws2_32 库添加到您的链接器选项中。试试#pragma comment(lib, "ws2_32.lib")以上是关于用于 UDP 客户端的 Windows C 套接字编程的主要内容,如果未能解决你的问题,请参考以下文章
关于socket通信UDP协议的问题,在客户端client下创建两个套接字s、s1分别用于recvfrom()和sendto()。