乙個封裝的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...