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

請各位幫忙解釋一下程式在做什麼

尚未結案
librarext
一般會員


發表:22
回覆:4
積分:5
註冊:2005-05-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-07-12 01:08:02 IP:218.167.xxx.xxx 未訂閱
//--------------------------------------------------------------------------- #include  #pragma hdrstop #include "UDPbyAMU.h" //--------------------------------------------------------------------------- int UDPbyAMU::SockInit() { int err; err=WSAStartup((WORD)(VERSION),&wsadata); if(err!=0) { Application->MessageBox("System does not support Winsock version 1.1", "Error!!",MB_OK); return err; } UDP_Sock=socket(AF_INET,SOCK_DGRAM,0); if(UDP_Sock==INVALID_SOCKET) { Application->MessageBox("Cannot open socket","Error!!",MB_OK); err=WSAGetLastError(); return err; } return 0; } //--------------------------------------------------------------------------- int UDPbyAMU::SockBind(int port) { int err; localAddr.sin_family=AF_INET; localAddr.sin_port=htons(port); localAddr.sin_addr.s_addr=INADDR_ANY; err=bind(UDP_Sock,(SOCKADDR *)&localAddr,sizeof(SOCKADDR_IN)); if(err!=0) { Application->MessageBox("Cannot bind socket","Error!!",MB_OK); err=WSAGetLastError(); return err; } return 0; } //--------------------------------------------------------------------------- void UDPbyAMU::FillSock(SOCKADDR_IN destAddr) { remoteAddr.sin_family=AF_INET; remoteAddr.sin_port=destAddr.sin_port; remoteAddr.sin_addr.s_addr=destAddr.sin_addr.s_addr; } //--------------------------------------------------------------------------- int UDPbyAMU::UDPSend(char* buff,int size) { int leng; int addrSize=sizeof(remoteAddr); leng=sendto(UDP_Sock,(char FAR *)buff,size,0, (struct sockaddr*) &remoteAddr,addrSize); return leng; } //--------------------------------------------------------------------------- int UDPbyAMU::UDPRecv(char* buff) { int leng; int addrSize=sizeof(remoteAddr); leng=recvfrom(UDP_Sock,(char FAR *)buff,BUFFER_SIZE,0, (struct sockaddr*) &remoteAddr,&addrSize); return leng; } //--------------------------------------------------------------------------- int UDPbyAMU::CloseSock() { int err; err=closesocket(UDP_Sock); if(err!=0) { Application->MessageBox("Cannot close socket","Error!!",MB_OK); err=WSAGetLastError(); return err; } return 0; } //--------------------------------------------------------------------------- void UDPbyAMU::EndUDPbyAMU() { WSACleanup(); } //--------------------------------------------------------------------------- #pragma package(smart_init) 這個程式是老師給我們讓我們做專題能更容易的,可是因為我對程式的不了解所以不太知道這是在做什麼的;只知道它是網路的程式可是並不時很了解他在做什麼,請高手們教我一下THX
pcboy
版主


發表:177
回覆:1838
積分:1463
註冊:2004-01-13

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-07-15 14:38:55 IP:210.69.xxx.xxx 未訂閱
int UDPbyAMU::SockInit() 初始化 Socket int UDPbyAMU::SockBind(int port) 使用 Socket 進行連線 void UDPbyAMU::FillSock(SOCKADDR_IN destAddr) 填寫 Socket 資料 int UDPbyAMU::UDPSend(char* buff,int size) 使用 UDP 協定送出資料 int UDPbyAMU::UDPRecv(char* buff) 使用 UDP 協定接收資料 int UDPbyAMU::CloseSock() 關閉 Socket void UDPbyAMU::EndUDPbyAMU() 結束 UDP 連戒 建議您先去看 BCB 書籍中有關網路通訊的 Socket , UDP 基礎知識 (這無法幾句話解釋), 然後再看程式 不然會好像沒學過加減乘除的小學生, 希望別人解釋一題微積分的解題過程
------
能力不足,求助於人;有能力時,幫幫別人;如果您滿意答覆,請適時結案!

子曰:問有三種,不懂則問,雖懂有疑則問,雖懂而想知更多則問!
taishyang
站務副站長


發表:377
回覆:5490
積分:4563
註冊:2002-10-08

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-07-15 16:15:10 IP:210.68.xxx.xxx 未訂閱
librarext您好:    請為您的問題取一個有意義的標題    PO程式碼的方式與版規說明請參考下面連結,煩請修改謝謝您的配合 >
Ktop_Robot
站務副站長


發表:0
回覆:3511
積分:0
註冊:2007-04-17

發送簡訊給我
#4 引用回覆 回覆 發表時間:2007-04-18 17:32:48 IP:000.000.xxx.xxx 未訂閱
提問者您好:


以上回應是否已得到滿意的答覆?


若已得到滿意的答覆,請在一週內結案,否則請在一週內回覆還有什麼未盡事宜,不然,
將由版主(尚無版主之區域將由副站長或站長)自由心證,選擇較合適之解答予以結案處理,
被選上之答題者同樣會有加分獎勵同時發問者將受到扣 1 分的處分。不便之處,請見諒。


有問有答有結案,才能有良性的互動,良好的討論環境需要大家共同維護,感謝您的配合。

------
我是機器人,我不接受簡訊.
系統時間:2024-04-30 0:13:20
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!