SocketErrorCode:10022
在编写.net的网络服务器时,我使用了裸socket来实现。在windows上,或者在linux上通过.net core来跑时都没有什么问题,但是通过mono运行调用socket.Bind()时却总是报ErrorCode为10022的SocketException,表示参数无效。通过命令netstat -a | grep myport并未发现端口占用现象,担心与权限有关,sudo mono myserver.exe来运行也依然如故。后来用TcpListener来实现,这个问题就没有了。无奈之下,去浏览TcpListener的源码,发现其内部创建socket是这样的:
m_ServerSocketEP = new IPEndPoint(localaddr, port); m_ServerSocket = new Socket(m_ServerSocketEP.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
再对比我的代码,发现创建socket时使用的是未指定AddressFamily参数的构造函数。于是指定参数为AddressFamily.Network,这个问题就解决了。应该是不同的平台实现在设置默认AddressFamily参数上有差别导致的。
转载于:https://www.cnblogs.com/Jackie-Snow/p/7470475.html
SocketErrorCode:10022相关推荐
- python 基于UDP协议的socket 报错:WinError 10022 提供了一个无效的参数(原因:服务端没有绑定ip)
如图: 原因: 服务端socket没有绑定ip和端口,绑定一下就好了 udp_server_sock.bind(ip_port) 参考文章:python socket 使用错误:WinError 10 ...
- 一个服务器端和多个客户端消息互发_python:OSError: [WinError 10022] 提供了一个无效的参数...
在使用socket模块进行编程时,如果不注意,很容易就遇到[OSError: [WinError 10022] 提供了一个无效的参数]这个错误.我在网上查阅了资料,通过自己的验证,出现这个错误是因为在 ...
- 彻底解决:Apache启动问题—(OS 10022)提供了一个无效的参数。
今天本地构建PHP环境,装Apache,无论如何也启动不了. 在控制面板的管理工具里面,启动服务也总失败. 提示: --------------------------- 服务 ----------- ...
- 用gogs搭建属于自己的git网站
如果你对docker的操作不太了解, 建议先阅读 从零搭建docker私有仓库 gogs是一款极易搭建的自助 Git 服务, 掌握了它, 我们就可以搭建自己的git服务站点 gogs官网: https ...
- html 逗号用什么替换,字符串用javascript数组中的逗号替换“↵”
var addresses = ["767 5th Ave ↵New York, NY 10153, USA", "677 5th Ave ↵New York, NY 1 ...
- 车载以太网之权威指南_awk权威指南之 终结篇!
前段时间看了一下awk的使用选项,字段变量,标准变量,操作运算符,正则表达式,数组和控制流,并且也附带着一些相关的案例,总的来说,在深入了解和使用AWK之后,还是带来了很多的便利,在处理文本的文件的时 ...
- 基于Docker容器的,Jenkins、GitLab构建持续集成CI
** 开发者将代码提交(push)到GitLab后,GitLab通过Hook通知jenkins,jenkins自动从GitLab中获取项目最新的源码进行集成和发布. 基于Docker,创建一个私有Gi ...
- rsync 同步数据
-av 常用参数 -l 同步软连接 -L 同步软连接的原文件 目录对目录同步,加"/",同步目录下所有的文件 --delete 强制目标远一致 -u 避免把目标上的 ...
- html -%3e 转义,特殊字符html,css转义大全
使用方法: 这些字符属于unicode字符集,所以,你的文档需要声明为UTF-8: 下面符号列表的后面有两列编号,它们并不太一样,第一列是用于html的,你需要在前面加上符号: 第二列可以用于CSS文 ...
最新文章
- [Python爬虫] 之三十:Selenium +phantomjs 利用 pyquery抓取栏目
- 过滤器跟拦截器的区别
- 2020年12月份学习总结,PMP与信息系统项目管理师的回顾
- [2017-2018上 网络工程] 面向对象预习任务
- Oracle SQL Developer中进行存储过程调试
- 好RESTful API的设计原则
- [导入]ASP.NET中上传并读取Excel文件数据
- Linux Shell脚本入门教程系列之(十)Shell for循环
- 工具的使用——谷歌浏览器(chrome) (二)
- delphi csdn论坛技巧收藏贴
- MS08_067漏洞复现
- graphpad数据小数点_Image J和Graphpad如何对Western Blot条带灰度分析【干货】 | 每日生物评论...
- fMRI Tutorial:FSL处理功能核磁共振数据
- 鼠标放上去,变成小手状
- 把kali装到U盘里
- ava使用MyEclipse构建webService简单案例
- ant-design官网打不开时,你需要使用以下的镜像地址打开网站
- Linux Command
- calendar控件使用 extjs_ExtJs定制日历控件——自动加载更新(日历控件显示)
- siesta在Linux运行,[求助]Linux下安装Siesta的方法 - 计算模拟 - 小木虫 - 学术 科研 互动社区...
热门文章
- xnio java_java基础篇---新I/O技术(NIO)
- mysql 列级权限授予用户_mysql 用户及权限管理 小结
- 【theano-windows】学习笔记六——theano中的循环函数scan
- 乐尚网络:小程序商城零售行业10大新赋能
- Linq查询datatable的记录集合
- javascript . 05 json的组成、for...in 遍历对象、简单数据类型与复杂数据类型的传值与传址、内置对象...
- 689D Magic Odd Square 奇数幻方
- 20145122《Java面向对象程序设计》实验二实验报告
- 微信浏览器取消缓存的方法
- 【朴灵评注】JavaScript 运行机制详解:再谈Event Loop