注意tcp是安全的,所以在它沒成功連線到乙個客戶端之前,不會往下執行
所以客戶端執行recv函式時,若在這之前服務端沒有傳送資料,著客服端會一直等待下去
server.cpp
//wsastartup socket bind listen accept send/recv closesocket wsacleanup
#include
#include
#include
#include
using namespace std;
#pragma comment (lib,"ws2_32")
#pragma comment (lib,"winmm")
#define helpmsg "help - show help menu \r\n"\
"getsysinfo - get system informantion"\
"open -open the cdrom \r\n"\
"close - close the cdrom \r\n"\
"swap - swap mouse button \r\n"\
"restore -restore mouse button \r\n"\
"exit -quit bdshell"
#define name_len 20
typedef struct _sys_info
sys_info,*psys_info;
//用於處理命令
bool dispatch(socket sock , char *szcmd);
//獲取系統相關信
void getsysinfo(sys_info *sys_info);
int main(int argc , char* grgv)
;//接收客戶端發來的命令
recv(clientsock,buff,maxbyte,0);
//cout<<"from client buff "getversionex(&sys_info->osver);
if(sys_info->osver.dwplatformid == ver_platform_win32_nt)
sys_info,*psys_info;
void showsysinfo(psys_info sysinfo)
{if(sysinfo->osver.dwplatformid == ver_platform_win32_nt)
{if(sysinfo->osver.dwmajorversion == 5 && sysinfo->osver.dwminorversion == 1)
cout<<"window xp "osver.dwminorversion == 0)
cout<<"windows 2k"cmd;
cout<<"you input command is:" 距離2012年9月已經是第四個年頭,對於我,我想這是我這輩子做的第一件我很自豪,很開心的乙個決定,從生物轉向計算機,一直以來,我對自己的期望總是很高,比如說上高中的時候,希望自己至少考個二本,學習個自己喜歡的專業,然後為之奮鬥,有乙個非常激動人心的大學四年,再比如說以後賺很多很多錢,擁有屬於自己的公... 熊大尋創意建築設計公司認為 中國城市化和城市建設浪潮前所未有地吸引了史上最多的外國建築大師湧入中國。中國各大城市充滿了欲與天公試比高的高樓大廈。一幢幢玻璃大廈拔地而起,一座座奇形怪狀的建築安家東方大地。在這場城市建設的洋務運動中,中國市民不僅失去了自己的熟悉的故宅家園,更重要的是身邊越來越多看不懂的... 文 賴忠標 小時候可猛了 愛你的每天都會惦記著你 每天都會給你打 你愛的每天都會先打 給他 愛你的從來不會主動掛掉你的 你愛的有時候甚至連句再見都不肯說 就掛掉了 愛你的看見你受一點點小傷都難受到不行 你愛的看見如果是一點點小傷會罵你笨 愛你的自從認識你以後開始學會照顧你,關心你 你愛的你認識他以後...乙個決定,乙個轉折
乙個建築挽救乙個城市
乙個你愛,乙個愛你,你選擇哪乙個