socket函数返回值分析

来源:互联网 发布:复制别人店铺的软件 编辑:程序博客网 时间:2024/05/17 08:34

服务端:


1 WSAStartup(版本,本机的最高版本)

WSAStartup函数的第一个参数是加载WinSock库的版本,WSAStartup函数的第二个参数中设置使用的WinSock库的版本,当正确初始化时,WSAStartup会返回0。但我在WSAStartup函数的第一个参数中胡乱设置了一个版本号,WSAStartup仍然会返回0。

如果在WSAStartup函数第一个参数中设置的版本号不存在,那么会自动使用WinSock库中最低的版本1.1。


2socket(协议方案,数据流/快形式,附加协议)

socket     成功

  INVALID_SOCKET  错误

socket返回的值是一个文件描述符,SOCKET类型本身也是定义为int的,既然是文件描述符,那么在系统中都当作是文件来对待的,0,1,2分别表示标准输入、标准输出、标准错误。所以其他打开的文件描述符都会大于2, 错误时就返回 -1. 这里INVALID_SOCKET 也被定义为 -1


3 bind(socket返回的socket,定义的SOCKADDR_IN 结构体,<-这个的大小)

0 成功

SOCKET_ERROR 错误(<0)可用WSAGETLASTERROR 函数取错误码


4 listen(socket返回的socket,队列长度)

0 成功

SOCKET_ERROR 错误(<0)可用WSAGETLASTERROR 函数取错误码


5 accept (socket返回的socket,指向的定义的SOCKADDR_IN 结构体指针,指针的大小

0 成功

SOCKET_ERROR 错误(<0)可用WSAGETLASTERROR 函数取错误码


6 recv/recvfrom(socket返回的socket,要放在的BUF,BUF长度,接收方式)

>0 返回收到的字节数目

=0断开连接

<0错误


7 send/sendto(socket返回的socket,要发的,发的长度,接收方式

>0 返回发的字节数目

=0断开连接

<0错误


客户端:

connect (socket返回的socket,定义的SOCKADDR_IN 结构体,<-这个的大小)

阻塞时:

0 成功

SOCKET_ERROR 错误(<0)可用WSAGETLASTERROR 函数取错误码

非阻塞时:不能立即返回值,连接 返回SOCKET_ERROR 

WSAGETLASTERROR 函数返回WSAEWOULDBLOCK

0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 练阴瑜伽腿麻怎么办 瑜伽垫在地板滑怎么办 艾灸后后背发凉怎么办 床上老是有小蜈蚣怎么办 早晚出去胳膊脚觉得凉怎么办 腿凉感觉冒凉气怎么办 冬天腿被冻夏天发酸发凉怎么办 宿舍一楼虫子多怎么办 有虫子在咬床板怎么办 床板上的虫咬了怎么办 住的房间有臭虫怎么办 租的房子有臭虫怎么办 瑜伽垫放地上脏怎么办 瑜伽垫和地面滑怎么办 练瑜伽时瑜伽垫全是汗水怎么办 车钥匙放洗衣机洗了怎么办 瑜伽垫边上掉渣怎么办 晚上睡地上后背不舒服怎么办 小孩子天天晚上看电视不睡觉怎么办 宝宝天天晚上不睡觉怎么办 老公天天晚上不睡觉怎么办 小孩天天晚上不睡觉怎么办 摸了貔貅的眼睛怎么办 买的爬行垫滑怎么办 买了爬行垫有毒怎么办 xpe爬行垫破了怎么办 做瑜伽时平衡不好怎么办 鼻翼两侧发红长痘怎么办 孕后期睡觉背疼怎么办 练了瑜伽后腰痛怎么办 尿路口长疮疼痛怎么办 来月经吃了辣的怎么办 泳衣打湿后特别难脱怎么办 脚臭怎么办教你除臭方法 袜子没干就穿了进湿气怎么办 狗喜欢往床上跑怎么办 泰迪在床上睡觉怎么办 泰迪睡觉换地方怎么办 猫一定要和人睡怎么办 狗喜欢跳到床上怎么办 幼猫晚上不睡觉怎么办