全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3839
推到 Plurk!
推到 Facebook!

在cmd模式下用程式打開3389 port

答題得分者是:aftcast
wishmaster926
初階會員


發表:91
回覆:69
積分:32
註冊:2006-12-13

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-03-29 18:08:05 IP:61.229.xxx.xxx 訂閱
#include  #include #include #include #include //#pragma comment(lib,"wsock32.lib") #pragma hdrstop #pragma argsused #define SOCKET int #define PORT 3389 #define error -1 int main(int argc, char* argv[]) { int WSAState; WSADATA wsaData; WSAState=WSAStartup(0x101,&wsaData); if (WSAState) { printf("初始化錯誤\n"); //exit(1); } //InitWinsock(); SOCKET Server; Server=socket(AF_INET,SOCK_STREAM,0); if (Server==-1) { printf("網路發生問題!!!\n"); WSACleanup(); //exit(1); } struct sockaddr_in local; local.sin_family=AF_INET; local.sin_addr.s_addr=INADDR_ANY; local.sin_port=htons(3389); if(bind(Server,(struct sockaddr*)&local,sizeof(local))==-1) {printf("網路發生問題!!!\n"); #ifdef _WIN32 WSACleanup(); closesocket(Server); #else Close(Server); #endif exit(1); } if (listen(Server,10)==-1) { printf("網路發生問題!!!\n"); #ifdef _WIN32 WSACleanup(); closesocket(Server); #else Close(Server); #endif //exit(1); } } 老師出的作業,用c寫console application,在cmd模式下執行可打開本機的3389port,但我run了以後,用netstat -ano查看,3389port還是沒開阿?????請大大幫忙!!!!!!!!!!!!!!!!!!!
------
~~~~~~~~時時多爬文 勿使惹塵埃~~~~~~~~
~~~~~~~~時時多爬文 勿使惹塵埃~~~~~~~~
~~~~~~~~時時多爬文 勿使惹塵埃~~~~~~~~
wishmaster926
初階會員


發表:91
回覆:69
積分:32
註冊:2006-12-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-03-29 18:11:35 IP:61.229.xxx.xxx 訂閱
重貼上文如下
[code cpp]
#include
#include
#include
#include
#include
//#pragma comment(lib,"wsock32.lib")
#pragma hdrstop
#pragma argsused
#define SOCKET int
#define PORT 3389
#define error -1
int main(int argc, char* argv[])
{
int WSAState;
WSADATA wsaData;
WSAState=WSAStartup(0x101,&wsaData);
if (WSAState)
{
printf("初始化錯誤\n");
//exit(1);
}
//InitWinsock();
SOCKET Server;
Server=socket(AF_INET,SOCK_STREAM,0);
if (Server==-1)
{
printf("網路發生問題!!!\n");
WSACleanup();
//exit(1);
}
struct sockaddr_in local;
local.sin_family=AF_INET;
local.sin_addr.s_addr=INADDR_ANY;
local.sin_port=htons(3389);
if(bind(Server,(struct sockaddr*)&local,sizeof(local))==-1)
{printf("網路發生問題!!!\n");
#ifdef _WIN32
WSACleanup();
closesocket(Server);
#else
Close(Server);
#endif
exit(1);
}
if (listen(Server,10)==-1)
{
printf("網路發生問題!!!\n");
#ifdef _WIN32
WSACleanup();
closesocket(Server);
#else
Close(Server);
#endif
//exit(1);
}
}
[/code]
老師出的作業,以上為我的程式碼,要做到在cmd模式下執行此程式後,本機的3389 port會被打開listen,但我run了以後,用netstat -ano查看,
3389 port還是沒開阿????請大大們教教我!!!!!!!
------
~~~~~~~~時時多爬文 勿使惹塵埃~~~~~~~~
~~~~~~~~時時多爬文 勿使惹塵埃~~~~~~~~
~~~~~~~~時時多爬文 勿使惹塵埃~~~~~~~~
ikk
尊榮會員


發表:4
回覆:413
積分:768
註冊:2003-06-30

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-03-30 15:04:50 IP:163.28.xxx.xxx 訂閱
因為你server端程式未寫完,,
還有accept() 等待client 連入...
------
FPGA驗證, FPGA開發平台, http://smims.com
aftcast
站務副站長


發表:81
回覆:1482
積分:1762
註冊:2002-11-21

發送簡訊給我
#4 引用回覆 回覆 發表時間:2009-03-31 14:43:06 IP:210.64.xxx.xxx 訂閱
因為你的程式run完後自然就看不到listen的情形。你要使程式不結束的情形下去觀查port開的情形。請如下做法就可以看到你的程式沒錯

你最後二行原來是
}
}

請改成如下四行

}
system("netstat -ano");
system("pause");
}
------



蕭沖
--All ideas are worthless unless implemented--

C++ Builder Delphi Taiwan G+ 社群
http://bit.ly/cbtaiwan
系統時間:2017-10-21 9:21:04
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!