Windows SOCKET网络编程

来源:互联网 发布:八音盒制作软件 编辑:程序博客网 时间:2024/05/19 02:24
SOCKADDR_IN caddr; //指定IP地址和服务端口信息struct SOCKADDR_IN{short sin_family;          //指定IPV4还是IPV6(AF_INET:ipv4 AF_INET6:ipv6)u_short sin_port;         //端口号struct in_addr sin_addr; //ip地址char sin_zore;          //充当填充项 }---------------------------------------------------------------WSAClean()        //终止Winsock 2 DLL (Ws2_32.dll) 的使用0                 //操作成功SOCKET_ERROR     //失败返回值WSAGetLastError //获取错误消息--------------------------------------------------------//创建套接字函数SOCKET socket(int af,        //协议地址族 ipv4用 AF_INET ipv6用 AF_INET6int type,     //套接字类型,TCP/IP用SOCK_STREAM UDP/IP用SOCK_DGRAMint protocol //TCP时设为IPPRORO_TCP UDP时设置为IPPROTO_UDP)INVALID_SOCKET/-1   //失败返回值返回一个套接字句柄 //成功返回值---------------------------------------int closesocket() //关闭套接字0                //成功返回值SOCKET_ERROR    //失败返回值WSAGetLastError//获取错误代码-----------------------------------1,客户端函数-------------------------------------------int connect(SOCKET s,const struct sockaddr FAR* name, //IP,端口信息(SOCKADDR_IN变量 eg:(SOCKADDR*)&addr)int namelen                     //SOCKADDR_IN的长度(eg:sizeof(addr)))----------------------------------------------------2,服务端函数--------------------------------int bind(SOCKET s,                        //套接字句柄const struct sockaddr FAR* name,//IP,端口信息(SOCKADDR_IN变量 eg:(SOCKADDR*)&addr)int namelen                    //SOCKADDR_IN的长度(eg:sizeof(addr)))0                  //成功返回值-1                //失败返回值WSAGetLastError()//获取错误代码--------------------------------------------int listen(SOCKET s,int backlog  //等待连接的队列长度 )0                  //成功返回值-1                //失败返回值WSAGetLastError()//获取错误代码-----------------------------------------------------SOCKET accept(SOCKET s,struct sockaddr FAR* addr, //(SOCKADDR_IN变量 eg:(SOCKADDR*)&addr)用来保存连接的客户端的IP以及端口信息int FAR* addrler          //SOCKADDR_IN的长度(eg:sizeof(addr)))INVALID_SOCKET           //失败返回值SOCKET                  //成功返会一个新的连接句柄------------------------------------------------------------数据传输--------------------------------------------------int send(SOCKET s,const char FAR* buf,     //要发送的数据int len,                //要发送的数据的长度int flags              //0,MSG_DONTROUTE,MSG_OBB (一般为0))SOCKET_ERROR          //错误返回代码WSAGetLastError()   //获得错误代码-----------------------------------------------------------------int recv(SOCKET s,char FAR* buf,    //接受数据储存缓冲区int len,         //接收长度int flags       //0,MSG_PEEK,MSG_OBB)返回接收字节数 //成功0             //连接已中断-1           //错误perror()    //获得错误信息----------------------------------------------------------------

0 0
原创粉丝点击