在 Windows 上使用 sys/socket.h 函数

2024-02-24

我正在尝试在Windows 中使用socket.h 函数。本质上,我目前正在查看示例代码https://beej.us/guide/bgnet/html/multi/clientserver.html#datagram https://beej.us/guide/bgnet/html/multi/clientserver.html#datagram。我知道 socket.h 是一个 Unix 函数——在编译此示例代码时我是否可以轻松模拟该环境?不同的 IDE/编译器会改变什么吗?

否则,我想我需要利用虚拟化 Linux 环境,这可能是最好的,因为代码很可能在 UNIX 环境中运行。

Thanks.


您有两个选择:

  1. Use Cygwin http://www.cygwin.com/(Unix 仿真库)。
  2. Port to Winsock http://msdn.microsoft.com/en-us/library/ms740673(v=VS.85).aspx(Windows 标准库)。

Cygwin:让您几乎不受影响地编译 Unix 源代码,但将您与 Cygwin 模拟库联系在一起。这有两个含义:总体性能(不仅仅是网络)可能达不到最佳性能;并且目标环境必须(在运行时)安装 Cygwin DLL。

Winsock:这个需要你更换sys/socket.h(BSD 套接字库,TCP/IP 堆栈的 UNIX 标准)winsock2.h,并重写代码的某些部分 - 不多,但有一些。

一些具有有价值信息的相关问题:

winsock 和 BSD 套接字实现之间的差异 https://stackoverflow.com/questions/1383286/differences-between-winsock-and-bsd-socket-implementations

关于 Cygwin[Linux in Windows] 的一些问题(套接字、线程、其他编程和 shell 问题) https://stackoverflow.com/questions/2087435/cygwin-socket-thread-other-programming-issues-some-question-about-cygwin

Winsock 的示例? https://stackoverflow.com/questions/2399377/examples-for-winsock

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Windows 上使用 sys/socket.h 函数 的相关文章

  • Hololens 应用程序将不再构建 - 引用元数据文件丢失且找不到 c-Sharp.firstpass

    我已按照 Microsoft 在其多个项目下列出的确切步骤进行操作微软全息 学院 https developer microsoft com en us windows holographic academy教程 我完成了所有这些 并且从创
  • 如何使用平台调用编组 void*

    我需要从 dll 中包含的 C api 调用函数 函数原型如下 int func char name void value 其中指针值的内容可以引用依赖于传递的名称的任何类型 我不确定如何设置 Dll 输入端口以正确编组此 void 我一直
  • 改进绩效反思 - 我应该考虑哪些替代方案?

    我需要动态地设置对象上的一堆或属性的值 将其称为传输对象 将在短时间内创建相当数量的此类传输对象并设置其属性 我想避免使用反射 还有其他选择吗 如果是的话 有我可以查看的示例实现吗 Use Delegate CreateDelegate h
  • 增强缓冲区调用后丢失自定义点类型的数据

    我有我自己的观点 class LocationWayPoint public latlong container location WORD index PWeakBasicStation station namespace boost n
  • 有没有办法使用 ews c# 确定电子邮件是否是回复/响应?

    我正在编写一个支持系统 这是我第一次使用 EWS 到目前为止 我已经相当成功了 我可以提取我需要的信息 发送电子邮件 一切正常 我确实有点头疼 有没有办法判断电子邮件是否实际上是回复 该应用程序的基本思想是有人发送电子邮件 我们回复并给他们
  • std::string substr 方法问题

    你好 我正在写这个方法 我希望它从给定缓冲区中提取给定位置的一部分 我有一个像这样的字符串something one something two我想要得到 一个 这是我的想法 static std string Utils getHeade
  • std::istringstream >> 使奇怪的行为加倍

    下面的代码打印0在 mac osx 上使用 clang 其他地方都会打印5 clang https ideone com mVgpzS gcc https ideone com oZ0hy6 include
  • 使用标准范围连接带有分隔符的字符串范围

    我想使用范围将跨度中包含的四个字节转换为字符串 这是输入和输出的示例 std span
  • 如何转换 UTF-8 <-> UTF16 可移植

    有没有一种简单 可移植的方法 至少是 win32 linux 将 UTF 16 转换为 UTF 8 并返回 最好使用升压 谢谢你的帮助 托比亚斯 Both libiconv http www gnu org software libicon
  • autofac 中的条件组件注册

    是否可以根据其他组件的状态有条件地注册组件 就像是 ContainerBuilder RegisterConditionally
  • ld: 无法对非 PE 输出文件执行 PE 操作错误

    我是操作系统编程的新手 我正在读一本书 其中给出了一个简单的内核示例 如下所示 main char video memory 0xb8000 video memory X 为了编译这个名为 kernel c 的文件 我在 Windows 7
  • 通用 lambda 的数量

    可以通过访问非泛型 lambda 的数量来推断其数量operator template
  • 在运行时生成可执行文件

    好吧 所以我想知道如何创建一个程序 该程序创建第二个程序 就像大多数压缩程序如何创建自解压自可执行文件一样 但这不是我需要的 假设我有 2 个程序 每个都包含一个类 我将使用一个程序来修改类并用数据填充类 第二个文件将是一个也具有该类的程序
  • 是否有普遍接受的 GMP 替代方案来实现任意精度? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 在寻找 BigInt 库的过程中 我发现了这篇文章 Microsoft Windows 上的 C 或
  • 使用智能指针在大型对象集合中创建多个索引

    我正在为一个大型对象集合创建多个索引 即使用不同的键 对象可以改变 集合可以缩小和增长 到目前为止我的想法 保留某种指向对象的指针的多个集合 使用set代替map以获得更好的封装 使用 unordered set 可以很好地扩展大型数据集
  • 如何同时正确使用管道和信号?

    我有 2 个孩子 我想将信号从孩子发送到父母 并将答案 随机数 为什么 为什么不 命名管道从父母发送到每个孩子 我有这个代码 include
  • Discord-py Rewrite - Cog 中的基本 aiohttp Web 服务器

    我正在尝试将基本的 aiohttp 网络服务器集成到 Cog 中 使用 discord py 重写 我对齿轮使用以下代码 from aiohttp import web import discord from discord ext imp
  • 删除指针后将其设为 NULL 是一个好习惯吗?

    我首先要说的是 使用智能指针 您将永远不必担心这个问题 下面的代码有什么问题 Foo p new Foo use p delete p p NULL 这是由答案和评论 https stackoverflow com questions 19
  • 从 C# 应用程序调用 ASP.net Web 服务

    我有个问题 我如何调用 Web 服务并从 C 桌面应用程序获取结果 我正在制作一个桌面应用程序 我希望它能够连接到我的在线 ASP net Web 服务 这怎么可能 在 解决方案资源管理器 中 右键单击项目节点并选择 添加 Service参
  • 布尔实现的atomicCAS

    我想弄清楚是否存在错误答案 https stackoverflow com a 57444538 11248508 现已删除 关于Cuda like的实现atomicCAS for bool是 答案中的代码 重新格式化 static inl

随机推荐

  • 如何计算多标签分类的 F1-Score?

    我尝试计算f1 score但当我使用 sklearn 时 我在某些情况下收到一些警告f1 score method 我有一个多标签 5 类预测问题 import numpy as np from sklearn metrics import
  • 在 delphi 7.0 中创建打包结构时出现错误 EStackOverflow

    在 Borland Delphi 7 0 中创建打包结构时出现 EStackOverflow 我想做以下事情 Type T4 packed record VT integer SKT byte end T3 packed record O
  • 为什么 emplace_back() 不使用统一初始化?

    以下代码 include
  • Javascript 数组计数与控制台不一致? [复制]

    这个问题在这里已经有答案了 我在这里是不是很傻 我来自 Ruby 所以我可能缺少一些有关 Javascript 数组的内容 console log new devices 控制台结果 Array 1 console log new devi
  • 从嵌入资源加载模板

    如何将嵌入资源作为 ITemplate 加载 LoadTemplate 方法仅采用字符串虚拟路径 显然这不适用于嵌入式资源 假设您的模板是嵌入的并且需要保持这种方式 我认为您可能需要重新考虑 这是我不久前编写的一个函数 在处理嵌入文件 主要
  • EF6 防止不在外键上创建索引

    我在用着EF6创建数据库的代码优先方法 当我添加迁移和更新数据库时 它总是创建Non cluster Index默认情况下 对于表中的每个外键 我的问题 是否有 EF6 不创建的全局设置Non Cluster index在外键上 我搜索并找
  • 按组对变量进行排名 (dplyr)

    我有一个包含列的数据框x1 x2 group我想生成一个带有额外列的新数据框rank这表明了顺序x1在其组中 有一个相关问题here https stackoverflow com questions 28018933 r data fra
  • Office集成(Word)-拦截保存

    我计划实施一个小型内部文档管理系统 它必须有一个 Web GUI 用于管理存储在数据库中的远程文件夹结构 这些文件夹中存储了 Word 文档 物理上作为数据库中的 blob 每当用户单击文档链接时 就会通过浏览器下载单词二进制文件 并 希望
  • 使用 JSF Datatable 有条件地显示行

    我有一些当前有效的 JSF 代码 如下所示 我需要修改它以有条件地抑制表中某些行的显示 我知道如何有条件地抑制特定单元格的显示 但这似乎会创建一个空单元格 而我想做的是根本不显示该行 有什么建议么
  • 理论:压缩算法可以使某些文件变小但不会变大?

    我遇到了这个问题 无损压缩算法声称可以保证使某些文件变小并且不会使文件变大 这是 a 不可能 b 可能 但可能运行不确定的时间 c 压缩系数为 2 或更低时可能 d 对于任何压缩因子都可能吗 我倾向于 a 但无法给出具体原因 我将列出我和朋
  • 如何使用相对路径而不包含上下文根名称?

    要工作我的静态文件 CSS JS 我必须编写绝对路径 例如 AppName templates style main css 有没有什么解决方案 我可以写相对路径style main css If your actual关注的是 webap
  • Twitter URL 中的 (#!) 有何作用? [复制]

    这个问题在这里已经有答案了 可能的重复 Facebook 和新 Twitter 网址中的 shebang 有何用途 https stackoverflow com questions 3009380 whats the shebang in
  • XPT 到 CSV 的转换? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 也许这是错误的地方 但我不太确定该把它放在哪里 我有一个非常大的 XPT 格式的压缩 SAS 文件 我
  • Reflection.Emit.ILGenerator 异常处理“离开”指令

    首先 一些背景信息 我正在为学校项目制作编译器 它已经在工作了 我正在花费大量的精力来修复错误和 或优化它 我最近遇到的一个问题是我发现 ILGenerator 对象生成了一个额外的leave当您调用以下任何成员方法时的说明 BeginCa
  • 使用 CSS 垂直对齐锚点内的图像

    我想垂直对齐锚元素内的图像 如下所示 ul class thumbnails li class span2 a href class thumbnail img src http www forodefotos com attachment
  • Ballerina,使用 REST-API 的 Json 响应

    我的教授希望我写一个关于如何部署 Ballerina 服务的小教程 所以我正在努力学习它 我正在使用 1 2 版 并且我对污点检查和变量类型的概念有点不知所措 我正在尝试编写一个最小的 REST Service 其端点从另一个 api 请求
  • Swift NSURLConnection sendSynchronousRequest

    在 Objective C 中 可以使用以下语法 NSHTTPURLResponse response nil NSData returnData NSURLConnection sendSynchronousRequest request
  • 找不到 com.android.support:multidex-instrumentation:27.1.1

    我按照说明进行操作https developer android com studio build multidex https developer android com studio build multidex 这是我的错误代码 任务
  • 使用复杂数据类型的集合调用 UpdateModel 会重置所有非绑定值吗?

    我不确定这是否是 DefaultModelBinder 类中的错误或什么 但 UpdateModel 通常不会更改模型的任何值 除了找到匹配的值之外 看看以下内容 AcceptVerbs HttpVerbs Post public View
  • 在 Windows 上使用 sys/socket.h 函数

    我正在尝试在Windows 中使用socket h 函数 本质上 我目前正在查看示例代码https beej us guide bgnet html multi clientserver html datagram https beej u