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参数上有差别导致的。

时间: 2024-12-05 05:05:11

SocketErrorCode:10022的相关文章

启动apache (OS 10022)提供了一个无效的參数。解决方式

今天 apache 突然启动不起来了,查看了一下错误日志发现了例如以下错误: [Tue Mar 17 11:27:32 2015] [crit] Parent: child process exited with status 3 -- Aborting. [Tue Mar 17 11:28:25 2015] [notice] Apache/2.2.11 (Win32) PHP/5.2.9-2 configured -- resuming normal operations [Tue Mar 1

python 中socket.error: [Errno 10022]

在用python中的socket模块进行udp变成时 , 一直出现这个错误 下面先把错误代码贴出来 server: import socket import random,time s = socket.socket(socket.AF_INET , socket.SOCK_DGRAM) host = '127.0.0.1' port = 21567 addr = (host , port) if __name__ == '__main__': s.bind(addr) while True:

启动apache (OS 10022)提供了一个无效的参数。解决方案

今天 apache 突然启动不起来了,查看了一下错误日志发现了如下错误: [Tue Mar 17 11:27:32 2015] [crit] Parent: child process exited with status 3 -- Aborting. [Tue Mar 17 11:28:25 2015] [notice] Apache/2.2.11 (Win32) PHP/5.2.9-2 configured -- resuming normal operations [Tue Mar 17

升级和激活win10 build 10022

slmgr.vbs -ipk PBHCJ-Q2NYD-2PX34-T2TD6-233PK 若升级失败,执行: rundll32.exe pnpclean.dll,RunDLL_PnpClean /DRIVERS /MAXCLEAN

【转】Windows Error Code(windows错误代码详解)

本文来自: http://blog.sina.com.cn/s/blog_5e45d1be0100i0dr.html http://blog.sina.com.cn/s/blog_5e45d1be0100i0dt.html http://blog.sina.com.cn/s/blog_5e45d1be0100i0dv.html 这三篇,因为格式实在太乱,因此拿来整理了一下.找这个的原因是今天在改程序的时候蹦出来个WindowsError: [Error 2],也没有说这个东西是什么错误.于是百度

plsql数组和嵌套

6 集合类型 6.1 数组 定义:由其元素的最大数目限定的单维有限集合,存放2GB(2*1024*1024*1024)个元素,排列是紧密的 (1)数组的定义.声明.初始化 A 数字类型的数组类型 declare  type num_varray is varray(5) of number;  v_numvarray num_varray:=num_varray(10,20,30,40);  --数组的声明+初始化begin  for idx in 1..4 loop    dbms_outpu

mono 3.10 Socket引发未知异常的悲剧事情...

最近在做mono 3.10针对socket性能方面的测试,在想对压力比较高的情况下发现了mono的一个bug会导致程序引发未知异常从而导致程序结束的严重问题. 错误信息 Unhandled Exception: System.InvalidOperationException: EndSend can only be called once per asynchronous operation at System.Net.Sockets.Socket.EndSend (IAsyncResult

新浪分享 Insufficient app permissions!

简介 我们在使用新浪分享的时候,可能会遇到很多问题. 比如: java.lang.Throwable: {"error":"{\"error\":\"Insufficient app permissions!\",\"error_code\":10014,\"request\":\"\/2\/statuses\/upload_url_text.json\"}",&qu

Jenkins环境搭建总结

一.Jenkins安装 1.安装OpenJDK [[email protected] ~]#yum install java-1.7.0-openjdk [[email protected] ~]#java -version java version"1.7.0_131" OpenJDK RuntimeEnvironment (rhel-2.6.9.0.el6_8-x86_64 u131-b00) OpenJDK 64-BitServer VM (build 24.131-b00, m