原创 網絡通信基礎重難點解析 17 :Windows 完成端口(IOCP)模型重難點解析

Windows 完成端口(IOCP)模型重難點解析 本人很多年前接觸完成端口以來,期間學習和練習了很多次,本以爲自己真正地理解了其原理,最近在看網狐的服務器端源碼時又再一次拾起完成端口的知識,結果發現以前理解的其實很多偏差,有些理解的

原创 網絡通信基礎重難點解析 專題介紹

網絡通信基礎重難點解析 專題介紹 不積跬步無以至千里,不積小流無以成江海。 當我們瞭解了網絡通信的基本原理後,你需要實際去編寫一些網絡通信程序,隨着技術的更新換代、大浪淘沙,目前主要的網絡通信技術都是基於 TCP/IP 協議棧的,對應

原创 網絡通信基礎重難點解析 01:常用 socket 函數基礎

網絡通信基礎重難點解析 01:常用 socket 函數基礎 常用 socket 函數基礎 Windows 和 Linux 上常用的 socket API 函數並不多,除了特定操作系統提供的一些基於自身系統特性的 API, 大多數 So

原创 網絡通信基礎重難點解析 09 :阻塞與非阻塞的 socket 的各自適用場景

阻塞與非阻塞的 socket 的各自適用場景 阻塞的 socket 函數在調用 send、recv、connect、accept 等函數時,如果特定的條件不滿足,就會阻塞其調用線程直至超時,非阻塞的 socket 恰恰相反。這並不意味

原创 網絡通信基礎重難點解析 10 :Linux EINTR 錯誤碼

Linux EINTR 錯誤碼 在類 Unix 操作系統中(當然也包括 Linux 系統),當我們調用一些 socket 函數時(connect、send、recv、epoll_wait 等),除了函數調用出錯會返回 -1,這些函數可

原创 網絡通信基礎重難點解析 05 :socket 的阻塞模式和非阻塞模式

socket 的阻塞模式和非阻塞模式 對 socket 在阻塞和非阻塞模式下的各個函數的行爲差別深入的理解是掌握網絡編程的基本要求之一,是重點也是難點。 阻塞和非阻塞模式下,我們常討論的具有不同行爲表現的 socket 函數一般有如下

原创 網絡通信基礎重難點解析 07 :非阻塞模式下 send 和 recv 函數的返回值總結

非阻塞模式下 send 和 recv 函數的返回值總結 我們來根據前面的討論來總結一下 send 和 recv 函數的各種返回值意義: 返回值 n 返回值含義 大於 0 成功發送 n 個字節 0 對端關閉連接 小

原创 網絡通信基礎重難點解析 08 :connect 函數在阻塞和非阻塞模式下的行

connect 函數在阻塞和非阻塞模式下的行爲 在 socket 是阻塞模式下 connect 函數會一直到有明確的結果纔會返回(或連接成功或連接失敗),如果服務器地址“較遠”,連接速度比較慢,connect 函數在連接過程中可能會導

原创 網絡通信基礎重難點解析 11 :Linux poll 函數用法

Linux poll 函數用法 poll 函數用於檢測一組文件描述符(File Descriptor, fd)上的可讀可寫和出錯事件,其函數簽名如下: #include <poll.h> int poll(struct pollfd

原创 網絡通信基礎重難點解析 16 :域名解析 API 介紹

爲了便於記憶,有時候我們需要我們的程序可以使用域名和端口號去連接服務,這種情況下,我們需要使用 socket API gethostbyname 函數先把域名轉換成 ip 地址,再使用 connect 函數連接。在 Linux 系統上

原创 Windows 一些常用到的文件路徑相關的API

Path API 需要頭文件:shlwapi.h 其中有一些函數功能存在重複,我在認爲比較常用的的函數上加紅。 BOOL PathFileExists(LPCTSTR lpszPath) 功能:檢查文件/路徑是否存在 LPTSTR

原创 高性能服務器開發 2018 年原創匯總

2018 年就這樣過去了,總結一下 2018 年『高性能服務器開發』公衆號發表的一些原創文章,歡迎讀者鑑閱。   面試求職 寫給那些傻傻想做服務器開發的朋友 『騰訊後臺開發』實習生技能要求 去BAT,你應該要看一看的面試經驗總結

原创 Gh0st源碼分析(一)

Gh0st 的編譯與使用方法 相信很多人應該或多或少地聽說過 gh0st 的大名,正如上面所說,它是一款遠程控制軟件,其原始版本的代碼和作者已經無從考證,筆者手裏這一份也來源於網絡,我修正一些 bug 並作了一些優化,僅供個人學習研究

原创 程序員面試如何與HR談薪

作爲“生在紅旗下,長在春風裏”的“四有新人”(現在90後00後還有知道這個詞的嗎?_),張小方同志從畢業至今,與各路HR、HRD鬥智鬥勇,再加上自己的不懈努力,歷盡千辛萬苦終於將畢業時的1500每月的薪資提高了二十幾倍。本文就和大家嘮

原创 從“成都-go-戒炸雞”的面試題開始說起

今天晚上“高性能服務器開發”QQ羣(羣號:49114021,有興趣的讀者可以加一下)裏面一名叫“成都-go-戒炸雞”的羣友提出了他最近面試的一些面試題,面試題內容個人覺得非常典型、也非常有代表性和針對性,故拿出來與大家分享一下,也感謝