原创 CentOS 防火牆 配置80端口

注(by jhonguy):下面用I表示在規則鏈表頭插入,如果使用A的話,就會在規則的尾端插入,無法達到開發的效果,因爲原始的最後一條規則是禁止所有的連接。   from:http://www.myhack58.com/Articl

原创 提高 Linux 上 socket 性能

在開發 socket 應用程序時,首要任務通常是確保可靠性並滿足一些特定的需求。利用本文中給出的 4 個提示,您就可以從頭開始爲實現最佳性能來設計並開發 socket 程序。本文內容包括對於 Sockets API 的使用、兩個可以提高性

原创 linux下C語言多線程(一)線程的創建與取消

linux下用C開發多線程程序,Linux系統下的多線程遵循POSIX線程接口,稱爲pthread。 #include <pthread.h> int pthread_create(pthread_t *restrict tidp,

原创 public private 和protected 繼承

在C++中繼承主要有三種關係:public、protected和private。這三種繼承關係中public繼承是最爲常用的一種繼承關係,private繼承是最少見的繼承關係。 1. public從語義角度上來說,public繼承是一種

原创 linux下C語言多線程(四)線程中止

1. 線程終止方式 一般來說,Posix的線程終止有兩種情況:正常終止和非正常終止。線程主動調用pthread_exit()或者從線程函數中return都將使線程正常退出,這是可預見的退出方式;非正常終止是線程在其他線程的干預下,或者由

原创 多級緩衝的服務器數據服務機制實現(二)

昨天,寫了一篇關於多級緩衝服務的文章。那麼今天,我們就來點實際的代碼,完成以上的所有功能吧。按照昨天的思路,我需要兩個程序,一個是和客戶端通訊的程序,這個程序我們姑且認爲它就是遊戲服務器,那麼,與之對應的,還有一個專門負責和後來存儲介質通

原创 Boost::asio io_service 實現分析

io_service的作用 io_servie 實現了一個任務隊列,這裏的任務就是void(void)的函數。Io_servie最常用的兩個接口是post和run,post向任務隊列中投遞任務,run是執行隊列中的任務,直到全部執行完畢,

原创 服務器設計,開發的體會

做服務器有一段時間了,想記錄下自己的體會。 依我的看法,服務器可以看做是4個部分組合起來的, 底層的網絡框架, 通用的數據結構和庫, 整個服務器的架

原创 linux下C語言多線程(五)雜項函數

在Posix線程規範中還有幾個輔助函數難以歸類,暫且稱其爲雜項函數,主要包括pthread_self()、pthread_equal()和pthre

原创 無縫遊戲世界

過去一年中,花了很多時間在考慮服務器架構設計方面的問題。看了大量文章、也研究了不少開源項目,眼界倒是開闊了不少,不過回過頭來看,對網遊架構設計方面的幫助卻是不多。老外還是玩兒console game的多,MMO Games方面涉及的還是不

原创 gdb調試

編寫代碼過程中少不了調試。在windows下面,可以使用visual studio工具。在linux下面呢,實際上除了gdb工具之外,沒有別的選擇。

原创 如何解決TIME_WAIT過多的解決辦法(附Socket中的TIME_WAIT狀態詳解)

linux和windows下TIME_WAIT過多的解決辦法 如果使用了nginx代理,那麼系統TIME_WAIT的數量會變得比較多,這是由於nginx代理使用了短鏈接的方式和後端交互的原因,使得nginx和後端的ESTABLISHED

原创 CentOS下Aapche配置全過程

⒈ 源碼包安裝httpd。 ⑴、靜態默認安裝,命令如下: 完成後,先查詢安裝了那些模塊命令如下: 再看模塊是否激活,如下圖: 可見模塊沒有被激活,若想添加模塊了,可用如下命令加載: 接着可看到模塊被加載激活了,如下: ⑵、動態

原创 多級緩衝的服務器數據服務機制實現(一)

很早就想寫一篇這樣的文章,可是第一工作較忙,第二,想用自己的開源服務器作爲藍本實現。由於自己前一段時間較忙,再加上自己也懶了一下,決定在這裏補上,提

原创 linux下C語言多線程(三)線程同步

一. 互斥鎖 儘管在Posix Thread中同樣可以使用IPC的信號量機制來實現互斥鎖mutex功能,但顯然semphore的功能過於強大了,在