亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? pipbase.cxx

?? PTypes (C++ Portable Types Library) is a simple alternative to the STL that includes multithreading
?? CXX
字號:
/* * *  C++ Portable Types Library (PTypes) *  Version 1.7.5   Released 9-Mar-2003 * *  Copyright (c) 2001, 2002, 2003 Hovik Melikyan * *  http://www.melikyan.com/ptypes/ *  http://ptypes.sourceforge.net/ * */#ifdef WIN32#  include <winsock2.h>#else#  include <sys/time.h>#  include <sys/types.h>#  include <sys/socket.h>#  include <netinet/in.h>#  include <arpa/inet.h>#  include <netdb.h>#  include <unistd.h>#  include <signal.h>#  include <time.h>#endif#include <stdio.h>  // for snprintf#include "pasync.h"#include "pinet.h"PTYPES_BEGIN//// sockets init/startup//// usockerrno() is used in all socket classes anyway, so this module// along with the initialization code below will always be linked to // a networking program#ifdef WIN32static class _sock_init{public:    _sock_init();    ~_sock_init();} _init;_sock_init::_sock_init(){    WORD wVersionRequested;    WSADATA wsaData;    int err;        wVersionRequested = MAKEWORD(2, 0);        err = WSAStartup(wVersionRequested, &wsaData);    if ( err != 0 )        fatal(CRIT_FIRST + 50, "WinSock initialization failure");    if ( LOBYTE(wsaData.wVersion) != 2 || HIBYTE(wsaData.wVersion) != 0 )        fatal(CRIT_FIRST + 51, "WinSock version mismatch (2.0 or compatible required)");}_sock_init::~_sock_init(){    WSACleanup();}#endif//// internet address//ipaddress ipnone = uint(0xffffffff);ipaddress ipany = INADDR_ANY;ipaddress ipbcast = INADDR_BROADCAST;ipaddress::ipaddress(int a, int b, int c, int d){    data[0] = uchar(a);    data[1] = uchar(b);    data[2] = uchar(c);    data[3] = uchar(d);}//// peer info//ippeerinfo::ippeerinfo()    : ip(ipnone), host(), port(0){}ippeerinfo::ippeerinfo(ipaddress iip, const string& ihost, int iport)    : ip(iip), host(ihost), port(iport){}ipaddress ippeerinfo::get_ip(){    if (ip == ipnone && !isempty(host))    {        ip = ulong(phostbyname(host));        if (ip == ipnone)            notfound();    }    return ip;}string ippeerinfo::get_host(){    if (!isempty(host))        return host;    if (ip == ipnone || ip == ipany || ip == ipbcast)        return nullstring;    host = phostbyaddr(ip);    if (isempty(host))        notfound();    return host;}void ippeerinfo::clear(){    ip = ipnone;    PTYPES_NAMESPACE::clear(host);    port = 0;}string ippeerinfo::asstring(bool showport) const{    string t;    if (!isempty(host))        t = host;    else if (ip == ipany)        t = '*';    else if (ip == ipnone)        t = '-';    else        t = iptostring(ip);    if (showport && port != 0)        t += ':' + itostring(port);    return t;}void ippeerinfo::notfound(){    string t = usockerrmsg(ENOENT);    throw new estream(nil, ENOENT, t + " [" + asstring(false) + ']');}//// internet utilities//int usockerrno(){#ifdef WIN32    return WSAGetLastError();#else    return errno;#endif}const char* usockerrmsg(int code){    switch(code)    {    // only minimal set of most frequent/expressive errors; others go as "I/O error"    case ENOTSOCK:          return "Invalid socket descriptor";    case EMSGSIZE:          return "Message too long";    case ENOPROTOOPT:    case EPROTONOSUPPORT:    case EPFNOSUPPORT:    case EAFNOSUPPORT:      return "Protocol or address family not supported";    case EADDRINUSE:        return "Address already in use";    case EADDRNOTAVAIL:     return "Address not available";    case ENETDOWN:          return "Network is down";    case ENETUNREACH:       return "Network is unreachable";    case ECONNRESET:        return "Connection reset by peer";    case ETIMEDOUT:         return "Operation timed out";    case ECONNREFUSED:      return "Connection refused";    case EHOSTDOWN:         return "Host is down";    case EHOSTUNREACH:      return "No route to host";        // we always translate h_errno to ENOENT and simply show "host not found"    case ENOENT:            return "Host not found";    default: return unixerrmsg(code);    }}string iptostring(ipaddress ip){    char buf[16];    snprintf(buf, sizeof(buf), "%d.%d.%d.%d",         uint(ip[0]), uint(ip[1]), uint(ip[2]), uint(ip[3]));    return string(buf);}ipaddress phostbyname(const char* name){    ipaddress ip;    hostent* hp;    if ((ip = ::inet_addr(name)) != ipnone)    {        if (ip[3] == 0) // network address?            return ipnone;    }    else    {        if ((hp = ::gethostbyname(name)) == nil)            return ipnone;        if (hp->h_addrtype != AF_INET)            return ipnone;        memcpy(ip.data, hp->h_addr, sizeof(ip.data)) ;    }    return ip;}string phostbyaddr(ipaddress ip){    hostent* hp;    string r;    if ((hp = ::gethostbyaddr(pconst(ip.data), sizeof(ip.data), AF_INET)) != nil)        r = hp->h_name;    return r;}string phostcname(const char* name){    hostent* hp;    string r;    if ((hp = ::gethostbyname(name)) != nil)        r = hp->h_name;    return r;}bool psockwait(int handle, int timeout){#ifdef _MSC_VER// disable "condition always true" warning caused by Microsoft's FD_SET macro#  pragma warning (disable: 4127)#endif    fd_set readfds;    FD_ZERO(&readfds);    FD_SET((uint)handle, &readfds);    timeval t;    t.tv_sec = timeout / 1000;    t.tv_usec = (timeout % 1000) * 1000;    return ::select(FD_SETSIZE, &readfds, nil, nil, (timeout < 0) ? nil : &t) > 0;}bool psockname(int handle, ippeerinfo& p){    sockaddr_in sa;    memset(&sa, 0, sizeof(sa));    psocklen addrlen = sizeof(sa);    if (getsockname(handle, (sockaddr*)&sa, &addrlen) != 0)        return false;    if (sa.sin_family != AF_INET)        return false;    p.ip = sa.sin_addr.s_addr;    p.port = sa.sin_port;    return true;}PTYPES_END

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美军同video69gay| 亚洲国产乱码最新视频| 一区二区三区日韩在线观看| 捆绑调教美女网站视频一区| 99久久精品国产毛片| 日韩亚洲国产中文字幕欧美| 亚洲精品免费电影| 国产一区二区精品久久| 欧美久久久久久久久| 最近日韩中文字幕| 国产精品自拍在线| 精品卡一卡二卡三卡四在线| 亚洲一区二区av电影| 99久久精品免费精品国产| 26uuu国产一区二区三区| 日韩国产成人精品| 精品视频在线免费观看| 亚洲乱码国产乱码精品精小说| 韩国理伦片一区二区三区在线播放| 51久久夜色精品国产麻豆| 亚洲成人自拍偷拍| 欧美亚洲国产怡红院影院| 亚洲视频一二区| 91在线视频免费91| 国产精品第13页| 91丝袜美腿高跟国产极品老师| 国产精品国产a级| 成人蜜臀av电影| 国产日韩欧美精品一区| 国产激情一区二区三区四区| www欧美成人18+| 国产69精品一区二区亚洲孕妇| 久久九九国产精品| 东方aⅴ免费观看久久av| 国产亚洲一区二区三区四区 | 日韩一二三区视频| 日韩成人一级片| 欧美mv日韩mv国产| 国产在线精品一区二区不卡了| 日韩精品一区二区三区在线| 激情久久五月天| 久久久电影一区二区三区| 丰满少妇久久久久久久| 日韩理论片中文av| 在线免费精品视频| 日韩在线一区二区| 欧美成人福利视频| 国产成人综合视频| 国产精品久久久久久户外露出| youjizz久久| 午夜久久久久久久久| 欧美一区午夜视频在线观看| 久久99精品国产.久久久久| 久久久久一区二区三区四区| 99久久久无码国产精品| 五月综合激情日本mⅴ| 2017欧美狠狠色| 91蜜桃传媒精品久久久一区二区| 亚洲va欧美va人人爽| 久久久久久久综合日本| 色94色欧美sute亚洲13| 免费高清成人在线| 国产精品久久久久婷婷二区次| 在线一区二区三区| 久久99久久精品| 亚洲男人的天堂在线观看| 7777精品伊人久久久大香线蕉| 经典一区二区三区| 亚洲综合一区二区三区| 久久综合一区二区| 欧美色综合久久| 国产精品亚洲第一区在线暖暖韩国 | 美女视频免费一区| 中文字幕乱码日本亚洲一区二区| 欧美三级电影在线观看| 国产成人丝袜美腿| 天天免费综合色| 国产精品久久看| 精品日韩一区二区三区 | 亚洲美女在线一区| 日韩精品一区二区三区中文不卡| av中文字幕一区| 国产美女主播视频一区| 亚洲超碰精品一区二区| 中文字幕一区二区三区在线不卡| 91精品福利在线一区二区三区 | 亚洲精品国产视频| 久久久久久**毛片大全| 91精品综合久久久久久| 色狠狠综合天天综合综合| 丁香六月综合激情| 久久精品国产第一区二区三区| 一区二区三区在线视频免费观看| 国产日韩三级在线| 欧美大尺度电影在线| 欧美日韩精品电影| 91麻豆精品一区二区三区| 国产精品99久久久久久宅男| 七七婷婷婷婷精品国产| 午夜激情一区二区| 亚洲精品视频在线观看免费| 欧美高清在线精品一区| 国产清纯在线一区二区www| 精品福利一区二区三区| 日韩一区二区三免费高清| 欧美日韩五月天| 欧美午夜一区二区三区 | 亚洲成人精品一区| 一区二区不卡在线视频 午夜欧美不卡在| 久久综合九色综合97婷婷女人 | 精品国产露脸精彩对白| 日韩精品一区二区三区在线观看| 91 com成人网| 日韩视频一区二区在线观看| 日韩亚洲欧美一区| 精品电影一区二区| 国产欧美va欧美不卡在线| 国产亚洲人成网站| 国产精品乱码妇女bbbb| 国产精品久久久久久久蜜臀| 国产精品福利av| 亚洲精品乱码久久久久久| 亚洲免费观看高清在线观看| 亚洲国产精品嫩草影院| 视频一区视频二区中文字幕| 青娱乐精品视频| 精一区二区三区| 国产高清不卡一区| 99精品视频中文字幕| 欧美唯美清纯偷拍| 欧美一级一区二区| 国产香蕉久久精品综合网| 中文字幕一区av| 亚洲成人tv网| 韩国v欧美v日本v亚洲v| 成人黄色在线视频| 日本道色综合久久| 日韩一区二区电影网| 国产亚洲综合性久久久影院| 日韩伦理免费电影| 秋霞av亚洲一区二区三| 成人激情开心网| 欧美亚洲自拍偷拍| 亚洲精品在线观| 亚洲人成网站影音先锋播放| 亚洲成a人v欧美综合天堂 | 日韩av电影免费观看高清完整版 | 久久久亚洲午夜电影| 亚洲毛片av在线| 男男成人高潮片免费网站| 国产精品资源在线看| 色欲综合视频天天天| 日韩欧美123| 亚洲精品视频在线| 极品瑜伽女神91| 在线观看亚洲成人| 久久影院电视剧免费观看| 亚洲免费在线观看视频| 经典一区二区三区| 欧美日韩高清在线| 亚洲欧洲一区二区在线播放| 日韩激情视频在线观看| eeuss国产一区二区三区| 欧美精品丝袜久久久中文字幕| 国产欧美日韩亚州综合| 手机精品视频在线观看| 91视频国产观看| 久久久99精品免费观看| 日韩一区精品视频| 色婷婷综合久久| 国产日韩欧美麻豆| 麻豆精品在线看| 欧美色欧美亚洲另类二区| 欧美国产激情一区二区三区蜜月| 日精品一区二区| 99re视频这里只有精品| 国产日韩av一区二区| 另类小说一区二区三区| 欧美日韩另类一区| 一区二区三区蜜桃| 97久久超碰国产精品电影| 国产精品素人视频| 国产成人自拍网| 精品国产乱码久久久久久久久| 日本在线不卡一区| 欧美日韩免费一区二区三区| 亚洲欧美日韩在线| 91一区在线观看| 亚洲欧洲精品一区二区三区| 国产精品18久久久久久久网站| 日韩欧美一二区| 欧美aaaaaa午夜精品| 91精品国产一区二区| 日韩综合小视频| 欧美人与z0zoxxxx视频| 日欧美一区二区| 91精品国产麻豆国产自产在线| 日韩黄色一级片| 欧美α欧美αv大片| 久久99最新地址|