首页 > 其他分享 >WIZnet socket API 前言

WIZnet socket API 前言

时间:2023-11-22 11:14:21浏览次数:28  
标签:socket APIs 监听 API WIZnet SOCKET 客户端

WIZnet socket API

WIZnet socket APIs 基于 Berkeley socket APIs,因此有着相似的名字和接口。但是也是有着些许的不同。

API WIZnet Berkeley
socket() O O
bind() X O
listen() O O
connect() O O
accept() X O
recv() O O
send() O O
recvfrom() O O
sendto() O O
closesocket() O close() & disconnect() O

bind() 函数和 accept() 函数在 Berkeley socket APIs 中,但 WIZnet socket APIs 中并没有。这是因为 WIZnet 的 socket() 函数不但创建了一个 SOCKET 还绑定了一个本地端口号,并且 WIZnet 中的 listen() 不仅仅监听来自客户端的连接请求还接受连接请求。

当开发者使用 Berkeley socket APIs 进行 TCP SERVER 编程时,开发者只能监听一个端口。在服务端编写的监听 SOCKET 接受来自客户端的连接请求时,它会持续侦听。收到连接请求后,服务端都会创建一个新的 socket ,这个新的 socket 用来和就客户端进行通信。

当开发者使用 WIZnet socket APIs 进行 TCP SERVER 编程时,开发者可以对同一个端口使用最多 8 个监听 SOCKET 。原因是在 WIZnet socket APIs 中没有 accept() ,当服务端的监听 SOCKET 接受来自客户端的连接请求时,它会被更改为了与客户端通信。并且更改后的 SOCKET 不再侦听,而是专用于与客户端通信。如果有许多具有相同侦听端口号的侦听 SOCKET,并且客户端请求连接,则具有最小 SOCKET 编号的 SOCKET 将接受请求并更改为通信 SOCKET。

标签:socket,APIs,监听,API,WIZnet,SOCKET,客户端
From: https://www.cnblogs.com/slickzz/p/17848504.html

相关文章

  • Civil 3D使用COM API时对象版本号的查询方法
     查询对象版本有多种方法,方法一:在developer'sguide中查找,APIDeveloper'sGuide→AbouttheDeveloper'sGuide→NewFeaturesintheAutoCADCivil3DAPI→COMChanges这里有详细的介绍,不仅有当前的版本,还有上一版的版本号。方法二:在AutoCAD命令行中输入命令AeccVersio......
  • wxid批量转换微信号接口工具,自动转换二维码,开源API分享!
    这个是今天客户定制的,就是从微信群导出了很多WXID,然后实现通过WXID加好友,我就直接调用了微信的接口,说明一下这是微信公开的接口,不存在HOOK或者是逆向技术存在的,公开接口,任何人都可以调用,我就是把接口通过易语言实现了批量生成的功能效果。界面图:  WXID添加效果,不是微信号,是......
  • 计算机科学与技术之网络编程 Windows下VC6.0 网络SOCKET编程C语言实现(服务端)
    在VC6.0平台用C语言实现网络SOCKET通信一.在VC6.0平台创建Win32ConsoleApplication工程工程名称自拟(或输入firstSocket)添加新建项文件C++SourceFile 文件名自拟,后缀.c(如firstSocket.c)在firstSocket.c加入头文件#include<winsock2.h>链接动态库#pragmacomment(l......
  • CreatePartition API执行流程_milvus源码解析(2)
    CreatePartitionAPI执行流程源码解析milvus版本:v2.3.2syncNewCreatedPartitionStep_milvus源码解析整体架构:CreatePartition的数据流向:1.客户端sdk发出CreatePartitionAPI请求。frompymilvusimport(connections,Collection,Partition,)print("star......
  • Chart兼容CronJob两个ApiVersion实践
    实际环境在工作中,有多个k8s集群需要同时管理,随着业务的扩充,先运行的K8s的版本和新运行的K8s版本就有出现差异,有些资源清单的apiVersion、格式、写法就会出现不兼容的情况。实际情况是在部署CronJob的资源时,部署失败。差异:A集群版本为v1.17.4B集群版本为v1.26.1在Kubernetes中,Cr......
  • VUE中选项式API和组合式API讲解。
    Vue.js提供了两种主要的API风格:选项式API(OptionsAPI)和组合式API(CompositionAPI)。这两种API风格可以用来编写Vue组件,但它们在组织代码、复用逻辑和组件结构等方面有不同的方式。选项式API是Vue.js最早引入的API风格,它使用对象形式来定义组件的选项。在选项式API......
  • Gartner 魔力象限:全生命周期 API 管理 2023 (Gartner Magic Quadrant for Full Life C
    Gartner魔力象限:全生命周期API管理2023GartnerMagicQuadrantforFullLifeCycleAPIManagement2023请访问原文链接:https://sysin.org/blog/gartner-magic-quadrant-api-management-2023/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgMagicQuadrantfor......
  • API测试:了解API接口测试与API接口测试指南
    一、API测试的基础概念API(应用程序编程接口)是不同软件应用程序之间的通信桥梁。API接口测试则是确保这些接口正常工作、确保数据传输的准确性和安全性的过程。为什么API测试如此重要?确保数据完整性:API在传输数据时必须保证数据的完整,避免数据丢失或损坏。提高安全性:通过API传输的......
  • Android studio使用javadoc生成 api 说明文档
    文章目录1、工具下载2、实用工具添加注释3、使用该工具生成api文档4、查看生成的api文档5、帮助1、工具下载2、实用工具添加注释官方wikiTogeneratejavadocsforactiveelementpress“shift+alt+G”.Togeneratejavadocsforallelementsincurrentjavafilepre......
  • 天通_分销_S系列_S3_API文档
     API使用:l API需要参数API入口:http://s3api.demo.ttgrasp.com.cn/FxApi/ApiGateway.Gspx 参数名称说明AppId应用程序ID,现在默认传输:A001AppSecret应用程序Key,现在默认传输:94626B9C-4B74-49F3-98CF-952475E3F027VersionERP程序版本,1.2......