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

有關socket(winsock寫法的)

缺席
stele
一般會員


發表:4
回覆:3
積分:1
註冊:2004-04-01

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-04-02 15:09:09 IP:211.74.xxx.xxx 未訂閱
想請問一下...小弟這樣子寫要如何才能去接收回應回來的broadcast阿??
 
WSADATA data; WORD version; struct sockaddr_in st,sa; SOCKET socket_sd; sa.sin_family = PF_INET; sa.sin_port = htons(64513); sa.sin_addr.s_addr = htonl(INADDR_ANY); st.sin_family = PF_INET; st.sin_port = htons(64515); st.sin_addr.s_addr = 0xffffffff; version = (MAKEWORD(2,2)); WSAStartup(version,&data); socket_sd = socket(PF_INET, SOCK_DGRAM, 0); bind( socket_sd, (struct sockaddr far *)&sa, sizeof(sa)); connect( socket_sd, (struct sockaddr far *)&st, sizeof(st)); send( socket_sd, (char *)&sendbuf, sizeof(sendbuf), 0);
 
這是小弟在vc下寫的程式...不知道是不是可以拿來這邊問...我有用過sniffer去看過packet的傳送...這樣子寫確定會傳出去一個broadcast...而且我也會得到我的server的回應...但是...小弟不知道要怎麼去接收server的回應...請各位大大幫忙一下...給小弟一條明路吧...用了一星期用不出來..
stele
一般會員


發表:4
回覆:3
積分:1
註冊:2004-04-01

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-04-19 17:30:25 IP:211.74.xxx.xxx 未訂閱
引言:
 
WSADATA data;
WORD version;
struct sockaddr_in st,sa;
SOCKET socket_sd;    sa.sin_family = PF_INET;
sa.sin_port = htons(64513);
sa.sin_addr.s_addr = htonl(INADDR_ANY);
        
st.sin_family = PF_INET;
st.sin_port = htons(64515);
st.sin_addr.s_addr = 0xffffffff;    version = (MAKEWORD(2,2));
WSAStartup(version,&data);
        
socket_sd = socket(PF_INET, SOCK_DGRAM, 0);
bind( socket_sd, (struct sockaddr far *)&sa, sizeof(sa));
connect( socket_sd, (struct sockaddr far *)&st, sizeof(st));
send( socket_sd, (char *)&sendbuf, sizeof(sendbuf), 0);
小弟後來終於發現... 小弟只要這樣子寫...如下...就可以接受到資料了...謝謝各位大大~
 
int sa_len = sizeof(sa);
int so_options = SO_BROADCAST;
socket_sd = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);
if(socket_sd != SOCKET_ERROR) {
bind( socket_sd, (struct sockaddr *)&sa, sa_len);
setsockopt(socket_sd, SOL_SOCKET, so_options, 
           (char *)&so_options, sizeof(so_options));
sendto(socket_sd, buf,sizeof(buf), 0, 
       (struct sockaddr *)&st, sizeof(st));
recvfrom(socket_sd, buf, 1024, 0, (struct sockaddr *)&sa, &sa_len);
系統時間:2024-05-18 7:17:15
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!