zoukankan      html  css  js  c++  java
  • 常用函数

    1、WSAStarup函数 
    用于初始化Winsock 
    [声明] 
    int WSAStarup(WORD wVersionRequested,LPWSADATA lpWSAData); 
    [参数] 
    wVersionRequested - 要求使用Winsock的最低版本号 
    lpWSAData - Winsock的详细资料 
    [返回值] 
    当函数成功调用时返回0 
    失败时返回非0的值

    2、socket函数 
    用于生成socket(soket Descriptor) 
    [声明] 
    SOCKET socket(int af,int type,int protocol); 
    [参数] 
    af - 地址家族(通常使用:AF_INET) 
    type - socket的种类 
    SOCK_STREAM : 用于TCP协议 
    SOCK_DGRAM : 用于UDP协议 
    protocol - 所使用的协议 
    [返回值] 
    当函数成功调用时返回一个新的SOCKET(Socket Descriptor) 
    失败时返回INVALID_SOCKET.

    3、inet_addr函数 
    把好象"xxx.xxx.xxx.xxx"的10进制的IP地址转换为32位整数表示方法 
    [声明] 
    unsigned long inet_addr ( const char FAR *cp ); 
    [参数] 
    cp - 指向用"xxx.xxx.xxx.xxx"的10进制来表示的IP地址字符串的指针 
    [返回值] 
    当函数成功调用时返回用32位整数表示的IP地址(按网络字节排列顺序) 
    失败时返回INADDR_NONE.

    4、gethostbyname函数 
    可以从主机名获取主机资料. 
    [声明] 
    struct hostent FAR * gethostbyname ( const char FAR *name ); 
    [参数] 
    name - 指向主机名字符串的指针 
    [返回值] 
    当函数成功调用时返回主机信息 
    失败时返回NULL(空值)

    5、Bind函数 
    指定本地IP地址所使用的端口号时候使用 
    [声明] 
    int bind ( SOCKET s , const struct sockaddr FAR *addr , int namelen ); 
    [参数] 
    s - 指向用Socket函数生成的Socket Descriptor 
    addr - 指向Socket地址的指针 
    namelen - 该地址的长度. 
    [返回值] 
    当函数成功调用时返回0 
    调用失败时返回 SOCKET_ERROR

    6、connect函数 
    用于与服务器建立连接,发出连接请求,必须在参数中指定服务器的IP地址和端口号 
    [声明] 
    int connect (SOCKET s , const struct sockaddr FAR *name , int namelen ); 
    [参数] 
    s - 指向用Socket函数生成的Socket Descriptor 
    name - 指向服务器地址的指针 
    namelen - 该地址的长度. 
    [返回值] 
    当函数成功调用时返回0 
    调用失败时返回 SOCKET_ERROR

    7、select函数 
    可以用于调查一个或多个SOCKET的状态. 
    [声明] 
    int select ( int nfds , fd_set FAR *readfds , fd_set FAR *writefds , fd_set FAR *exceptfds , const struct timeval FAR *timeout ); 
    [参数] 
    nfds - 在WINDOWS SOCKET API 中该参数可以忽略,通常赋予NILL值 
    readfds - 由于接受的SOCKET设备的指针 
    writefds - 用于发送数据的SOCKET设备的指针 
    exceptfds - 检查错误的状态 
    timeout - 超时设定 
    [返回值] 
    返回大于0的值时,表示与条件相符的SOCKET数 
    返回0表示超时 
    失败时返回SOCKET_ERROR

    8、recv函数 
    利用Socket进行接受数据. 
    [声明] 
    int recv ( SOCKET s , char FAR *buf , int len , int flags ); 
    [参数] 
    s - 指向用Socket函数生成的Socket Descriptor 
    buf - 接受数据的缓冲区(数组)的指针 
    len - 缓冲区的大小 
    flag - 调用方式(MSG_PEEK 或 MSG_OOB) 
    [返回值] 
    成功时返回收到的字节数. 
    如果连接被中断则返回0 
    失败时返回 SOCKET_ERROR

    9、sendto函数 
    利用Socket进行发送数据. 
    [声明] 
    int sendto ( SOCKET s , const char FAR *buf , int len , int flags , const struct sockaddr FAR *to , int token ); 
    [参数] 
    s - 指向用Socket函数生成的Socket Descriptor 
    buf - 接受数据的缓冲区(数组)的指针 
    len - 缓冲区的大小 
    flag - 调用方式(MSG_DONTROUTE , MSG_OOB) 
    to - 指向发送方SOCKET地址的指针 
    token - 发送方SOCKET地址的大小 
    [返回值] 
    成功时返回已经发送的字节数. 
    失败时返回SOCKET_ERROR

  • 相关阅读:
    boost::asio在VS2008下的编译错误
    Java集合框架——接口
    ACM POJ 3981 字符串替换(简单题)
    ACM HDU 1042 N!(高精度计算阶乘)
    OneTwoThree (Uva)
    ACM POJ 3979 分数加减法(水题)
    ACM HDU 4004 The Frog's Games(2011ACM大连赛区第四题)
    Hexadecimal View (2011ACM亚洲大连赛区现场赛D题)
    ACM HDU 4002 Find the maximum(2011年大连赛区网络赛第二题)
    ACM HDU 4001 To Miss Our Children Time (2011ACM大连赛区网络赛)
  • 原文地址:https://www.cnblogs.com/moonwind/p/4447584.html
Copyright © 2011-2022 走看看