文档章节

socket连接返回错误码

souldepth
 souldepth
发布于 2015/07/21 16:37
字数 428
阅读 203
收藏 4
10035—WSAEWOULDBLOCK  
      资源暂时不可用。对非锁定套接字来说,如果请求操作不能立即执行的话,通常会返回这个错误。比如说,在一个非暂停套接字上调用 connect,就会返回这个错误。因为连接请求不能立即执行。  

      10037—WSAEALREADY  
操作已完成。一般来说,在非锁定套接字上尝试已处于进程中的操作时,会产生这个错误。比如,在一个已处于连接进程的非锁定套接字上,再一次调用 connect 或 WSAConnect。另外,服务提供者处于执行回调函数(针对支持回调例程的 Winsock函数)的进程中时,也会出现这个错误。  
 
应用层socket接收数据:
     1、内核copy数据到socket接收缓冲区
     2、应用程序调用recv,copy socket接收缓冲数据到应用进程。
 
应用socket发送数据:
    1、应用调用send copy数据到socket发送缓冲区,
    2、内核维护socket缓冲区通过IP协议发出数据

 

连接对应关系:

注: accept 只是从内核取出可以已完成握手(建立连接)的队列中取出一个连接响应,表示应用层完成tcp连接。

10035处理->

部分解决方案1:

在client连接服务器过程中,如果处于非阻塞模式下的socket在connect()的过程中可
以设置connect()延时,直到accpet()被呼叫,本函数设置只有在非阻塞的过程中有显著的
作用,在阻塞的函数调用中作用不大)BOOL bAccept=TRUE;

setsockopt(s,SOL_SOCKET,SO_CONDITIONAL_ACCEPT,(const char*)&bAccept,sizeof(BOOL));

部分解决方案2:

待续....


 

© 著作权归作者所有

souldepth
粉丝 4
博文 62
码字总数 36976
作品 0
厦门
高级程序员
私信 提问
windows socket错误码及出错原因

Windows Sockets在头文件winsock.h中定义了所有的错误码,它们包括以“WSA”打头的Windows Sockets实现返回的错误码和Berkeley Sockets定义的错误码全集。定义Berkeley Sockets错误码是为了确...

暖冰
2015/11/19
0
0
UDT协议实现分析——UDT Socket的创建

UDT API的用法 在分析 连接的建立过程 之前,先来看一下UDT API的用法。在UDT网络中,通常要有一个UDT Server监听在某台机器的某个UDP端口上,等待客户端的连接;有一个或多个客户端连接UDT...

WolfCS
2015/09/07
3.4K
0
Socket 错误分析及错误码

平台:xp sp3+vc6。 测试方法: retval = function(....) if(retval == SOCKET_ERROR) r = WSAGetLastError(); 各种情况下的返回值由retval取得。 错误号由r取得。 错误查询使用vc6自带的too...

不必在乎朕是谁
2013/04/17
0
0
socket在windows下和linux下的区别

windows到Linux代码移植遇到的问题 1、一些常用函数的移植 http://www.vckbase.com/document/viewdoc/?id=1586 2、网络 ------ 转载 & 修改(待整理) socket相关程序从windows移植到linux下...

mickelfeng
2015/10/14
474
1
TCP面试常见题:张小方的知乎Live:轻松搞定技术面试中常见的网络通信问题

http://blog.csdn.net/analogouslove 张小方 的知乎 Live:轻松搞定技术面试中常见的网络通信问题 https://www.zhihu.com/lives/922110858308485120?utmsource=qq&utmmedium=social 本live列......

libaineu2004
2017/12/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

利用mybatis generator生成实体类、Mapper接口以及对应的XML文件

项目中通常会遇到数据的持久化,如果是采用mybatis的orm,就会涉及到生成xml的问题,刚好mybatis官网提供了这么个插件MyBatis Generator,效果简直是棒呆。 1. 首先需要在build.gradle文件中...

啊哈关关
今天
2
0
SpringSocial相关的知识点

使用SprigSocial开发第三方登录 核心类 ServiceProvider(AbstractOauth2ServiceProvider):主要负责实现server提供商(例如QQ,微信等共有的东西),默认实现类是AbstractOauth2ServiceProvider...

chendom
今天
3
0
Java并发之AQS详解

一、概述   谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)!   类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源...

群星纪元
昨天
4
0
Fabric-sdk-java最新教程

Fabric Java SDK是Fabric区块链官方提供的用于Java应用开发的SDK,全称为Fabric-sdk-java,网上可用资料不多,本文列出了精心整理的针对Fabric Java SDK的最新精选教程。 如果希望快速掌握F...

汇智网教程
昨天
3
0
react 子组件监听props 变化

componentWillReceiveProps //已经被废弃 getDerivedStateFromProps// 推荐使用//如果条件不存在必须要返回null static getDerivedStateFromProps(props, current_stat...

一箭落旄头
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部