?? sock5.htm
字號:
<P> m_n_sock5=s_sock5_tcp;</P>
<P> return 0;<BR>}</P>
<P>//通過sock5發(fā)送udp數(shù)據(jù)<BR>int zf5_sock5_udp::send_sock5_udp(int s_udp,char *sz_buf,int n_len,struct sockaddr_in *p_addr)<BR>{<BR> char sz_buf1[ZF5_BUFFER_SIZE3+2];<BR> int n_len1=0;<BR> sz_buf1[0]=0x00;<BR> sz_buf1[1]=0x00;<BR> sz_buf1[2]=0x00;<BR> sz_buf1[3]=0x01;<BR> memcpy((void *)&sz_buf1[4],(void *)&(p_addr->sin_addr.s_addr),4);<BR> memcpy((void *)&sz_buf1[8],(void *)&(p_addr->sin_port),2);<BR> struct sockaddr_in addr;<BR> addr.sin_family=AF_INET;<BR> addr.sin_addr.s_addr=inet_addr(m_sz_udp_srv);<BR> addr.sin_port=htons(m_n_port);<BR> if(addr.sin_addr.s_addr==INADDR_NONE)<BR> {<BR> struct hostent *p=gethostbyname(m_sz_udp_srv);<BR> if(p==NULL)<BR> {<BR> return -1;<BR> }<BR> addr.sin_addr.s_addr=((LPIN_ADDR)p->h_addr)->s_addr;<BR> }</P>
<P> memcpy(&sz_buf1[10],sz_buf,n_len);</P>
<P> int n_ret=-1;<BR> n_ret=sendto(s_udp,sz_buf1,n_len+10,0,(struct sockaddr *)&addr,sizeof(struct sockaddr_in ));</P>
<P> return n_ret;<BR>}</P>
<P>//通過sock5接收udp數(shù)據(jù)<BR>int zf5_sock5_udp::recv_sock5_udp(int s_udp,char *sz_buf,struct sockaddr_in *p_addr)<BR>{<BR> char sz_buf1[ZF5_BUFFER_SIZE3+2];<BR> struct sockaddr_in addr;<BR> int n_ret=-1;<BR> int n_len1=0;<BR> int n_len2=sizeof(struct sockaddr_in);<BR> n_ret=recvfrom(s_udp,sz_buf1,ZF5_BUFFER_SIZE3,0,(struct sockaddr *)&addr,&n_len2);<BR> if(n_ret==SOCKET_ERROR)<BR> {<BR> return -1;<BR> }</P>
<P> if(sz_buf1[3]==0x01)<BR> {<BR> p_addr->sin_family=AF_INET;<BR> p_addr->sin_addr.s_addr=*((int *)&(sz_buf1[4]));<BR> p_addr->sin_port=*((short *)&(sz_buf1[8]));<BR> n_ret-=10;<BR> memcpy(sz_buf,&sz_buf1[10],n_ret);<BR> }<BR> else if(sz_buf1[3]==0x03)<BR> {<BR> char sz_buf2[ZF5_BUFFER_SIZE2+2];<BR> memset(sz_buf2,0,ZF5_BUFFER_SIZE2);<BR> strncpy(sz_buf2,sz_buf2,sz_buf1[4]);<BR> struct hostent *p=gethostbyname(sz_buf2);<BR> if(p==NULL)<BR> {<BR> return -1;<BR> }<BR> n_len1=4+sz_buf1[4];<BR> p_addr->sin_family=AF_INET;<BR> p_addr->sin_addr.s_addr=((LPIN_ADDR)p->h_addr)->s_addr;<BR> p_addr->sin_port=*((short *)&(sz_buf1[n_len1]));<BR> <BR> n_ret-=(n_len1+2);<BR> memcpy((void *)sz_buf,(void *)&sz_buf1[n_len1],n_ret);</P>
<P> n_ret-=(4+2+1+sz_buf1[4]);<BR> }<BR> else<BR> {<BR> return -1;<BR> }</P>
<P> return n_ret;<BR>}</P>
<P>//關(guān)閉sock5的udp代理<BR>int zf5_sock5_udp::close_sock5_udp()<BR>{<BR> if(m_n_sock5!=INVALID_SOCKET)<BR> {<BR> closesocket(m_n_sock5);<BR> m_n_sock5=INVALID_SOCKET;<BR> }</P>
<P> return 0;<BR>}<BR></P></div>
<div id="tart">
<span>作者: zfive5</span>
<span>來源: CSDN</span>
<span>日期: 2006-3-2 4:18:34</span>
</div>
</div>
<div id="top">
<div id="top_left"><a href="http://www.window07.com/"><img alt="IT技術(shù)資訊站 - 第七視窗" src="/page/images/logo.gif"/></a></div>
<div id="top_right"><a href="/dev/index.htm">程序開發(fā)</a>
<a href="/os/index.htm">操作系統(tǒng)</a>
<a href="/soft/index.htm">軟件應(yīng)用</a>
<a href="/media/index.htm">多 媒 體</a>
<a href="/net/index.htm">網(wǎng)絡(luò)應(yīng)用</a>
<a href="/ta/index.htm">教育認(rèn)證</a>
<a href="/hw/index.htm">硬件維護(hù)</a>
<a href="/dev/code/index.htm">編程語言</a>
<a href="/dev/web/index.htm">網(wǎng)站開發(fā)</a>
<a href="/dev/db/index.htm">數(shù) 據(jù) 庫</a>
<a href="/dev/project/index.htm">軟件工程</a>
<a href="/os/server/index.htm">服 務(wù) 器</a>
<a href="/soft/Office/index.htm">辦公軟件</a>
<a href="/media/image/index.htm">圖形圖像</a>
<a href="/net/safe/index.htm">網(wǎng)絡(luò)安全</a>
<a href="/other/org/index.htm">注 冊 表</a>
<a href="/other/faq/index.htm">軟件教程</a>
<a href="/other/cainiao/index.htm">菜鳥入門</a>
<a href="/net/e/popo/index.htm">網(wǎng)易泡泡</a>
<span>
<script type="text/javascript"><!--
google_ad_client = "pub-8451177669974482";
google_alternate_color = "FFFFFF";
google_ad_width = 468;
google_ad_height = 15;
google_ad_format = "468x15_0ads_al_s";
google_ad_channel ="";
google_color_border = "FFFFFF";
google_color_bg = "FFFFFF";
google_color_link = "000000";
google_color_url = "336699";
google_color_text = "333333";
//--></script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</span></div>
<div id="guide"><a href="/">第七視窗</a> >> <a href="/dev/index.htm">程序開發(fā)</a> >> <a href="/dev/code/index.htm">編程語言</a> >> UDP下的SOCK5代理實(shí)現(xiàn)
</div>
</div>
<iframe id="baiduframe" border="0" vspace="0" hspace="0" marginwidth="0" marginheight="0"
framespacing="0" frameborder="0" scrolling="no" width="670" height="40"
src="http://unstat.baidu.com/bdun.bsc?tn=window07_pg&cv=0&cid=1019904&csid=103&rkcs=4&bgcr=FFFFFF&ftcr=000000&rk=1&bd=0&tbsz=&tbst=&bdas=0">
</iframe>
<div id="bottom">
<div id="bottom_left">
<a href="http://www.kingcms.com/" target="_blank"><img src="/page/images/kc.gif"/></a>
<a href="http://www.window07.com/" target="_blank"><img src="/page/images/w7.gif"/></a>
</div>
<div id="bottom_right">
<span><script src="/page/menu/bottommenu_zh-cn.js"></script></span>
<span>Copyright © Window07.com - Powered By KingCMS</span>
</div>
</div>
<script src="/page/count.asp?artid=59858&topicid="></script>
</body>
</html>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -