閒來無聊,寫了乙個體積很小的tcp迴圈式伺服器,方便各系統移植。特共享如下,編譯後體積約為8kb,經過7*24小時壓力測試,5個以內連線都ok。
結合我之前的tcp**程式,可以做成乙個網絡卡埠資訊掃瞄日誌服務。
#include
#include
#include
#include
#define serv_port 49999
#define max_buf_one 65535
#define min_ip_size 16
#define message_file "m.txt"
int makecurtimestr(char* szcurtimestr)
int main(int argc, char* argv)
so_serv = socket(af_inet,sock_stream,ipproto_tcp);
memset(&serv_addr,0,sizeof(struct sockaddr_in));
serv_addr.sin_family = af_inet;
serv_addr.sin_addr.s_addr = htonl(inaddr_any);
nservport = (argc > 1) ? atoi(argv[1]) : serv_port;// 是否自行指定埠,若不指定用預設的49999
serv_addr.sin_port = htons(nservport);
iret = bind(so_serv,(sockaddr*)&serv_addr,sizeof(struct sockaddr_in));
if(socket_error == iret)
iret = listen(so_serv,somaxconn);
if(socket_error == iret)
printf("receive server start! port:%d\n",nservport);
for(;;)
printf("\n");
// 獲取當前時間
memset(sztimestr,0,40);
makecurtimestr(sztimestr);
// 記錄傳輸內容
pf = fopen(message_file,"a+");
fprintf(pf,"\n%s\n",sztimestr);
fprintf(pf,"from:%s : %d, receive:%d bytes\n",szip,client_addr.sin_port,ret);
fwrite(szbuf,1,ret,pf);
fprintf(pf,"\n");
fclose(pf);
pf = null;
if(szip != null)
if(szbuf != null)
}closesocket(so_client);
}wsacleanup();
return 0;
}
小型伺服器
在cmd或者shell中啟動python自帶的http伺服器 python m httpserver 80 指定80埠正常啟動會看到如下輸出 serving http on 0.0.0.0 port 8000 說明http伺服器啟動成功,預設埠是8000 在瀏覽器輸入,http 可以省略 或者 ht...
搭建小型郵件伺服器
公司用的exchange郵件伺服器,最近公升級內外網郵件分離。在使用outlook鏈結exchange server的時候,只能收到公司內部之間的郵件。而jira的伺服器配置的傳送郵箱的伺服器是外網的。於是申請了公司內部郵箱賬號來傳送jira郵件,無奈公司的exchange server要求使用nt...
ios小型伺服器環境配置
之前買的一台二手iphone4退役了,上閒魚上一看,就值200,而且耳機聲音也有點輕,估計買不了什麼錢 於是網上看看能不能有什麼廢物利用的法子,看到說做行車記錄儀的,有說做git伺服器的,感覺挺有興趣 就查了下 首先是ios的作業系統,dark root uname a darwin dark 13...