乙個封裝的C Socket類

2021-08-26 14:17:35 字數 1828 閱讀 6746

乙個封裝的c++ socket類

2023年06月03日

#include "stdafx.h"

#include "libyfun.h"

#include "mytcp.h"

//#include "ty_server.h"

//建構函式

myctcp::myctcp ()

}//析構函式

myctcp::~myctcp ()

/*賦值

入參:nsockfd - socket控制代碼

出參:賦值後的socket控制代碼

*/int myctcp::operator = (int nsockfd)

/*取出socket控制代碼

入參:無

出參:取出的socket控制代碼

*/int myctcp::gethandle () const

/*建立socket

入參:無

出參:1: 成功 ; 0: 失敗

*/int myctcp::open ()

/*關閉socket

入參:無

出參:1: 成功 ; 0: 失敗

*/int myctcp::close ()

m_nsock = -1;

}return 1;

}/*連線

nport - 埠

出參:1: 成功 ; 0: 失敗

*/int myctcp::connect (const char *phost, int nport) const

return (connect (m_nsock, (struct sockaddr *)&addr, sizeof (addr)) == 0);

}/*繫結

nport - 埠

出參:1: 成功 ; 0: 失敗

*/int myctcp::bind (const char *pip, int nport) const

memset (&addr, 0, sizeof (addr));

addr.sin_family = af_inet;

addr.sin_port = htons (nport);

if (!pip)

else

}return (bind (m_nsock, (struct sockaddr *)&addr, sizeof (addr)) == 0);

}/*監聽

入參:nnum - 監聽數目

出參:1: 成功 ; 0: 失敗

*/int myctcp::listen (int nnum) const

/*接受連線

入參:無

出參:其他: 連線套接字控制代碼 ; -1: 失敗

*/int myctcp::accept () const

/*傳送指定數目資料

入參:pbuf - 傳送快取

ncount - 需傳送位元組數

nmicsec - socket超時值,單位:微妙,預設:500000微妙

出參:實際傳送位元組數 ,如果傳送失敗,返回負數

*/int myctcp::sendn (const void *pbuf, int ncount, int nmicsec) const

else if (nread == 0)

nleft -= nread;

ptr += nread;

}return ncount;

}/*設定位址可重用

入參:無

出參:1: 成功 ; 0: 失敗

*/int myctcp::setreuseaddr ()

return 1;

}

乙個實用的js window封裝類

原文出處 發布乙個實用的js window封裝類,主要內容包括 1.獲取螢幕寬度的函式 2.獲取螢幕高度的函式 3.獲取滾動條橫向寬度 4.獲取滾動條豎向高度 5.window.onscroll繫結事件 6.刪除window.onscroll繫結事件 7.window.onload繫結事件 8.讓元...

自己封裝的乙個MySQL類

import pymysql import logging 獲取logger的例項 logger logging.getlogger lzjf 指定logger的輸出格式 formatter logging.formatter asctime s levelname s message s 檔案日誌...

乙個簡單的日誌封裝類

記錄乙個自己封裝的日誌類,不完善的地方,望指點。其中,包含寫檔案和輸出到終點,定義日誌等級,定義日誌儲存檔案時間間隔,日誌檔案個數等 並統一日誌輸出格式 檔名,方法名等資訊 import logging from logging import handlers class logger object...