⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sock5.htm

📁 如何快速有效实现Sock5代理
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<P>&nbsp;m_n_sock5=s_sock5_tcp;</P>
<P>&nbsp;return 0;<BR>&#125;</P>
<P>//通过sock5发送udp数据<BR>int&nbsp; zf5_sock5_udp::send_sock5_udp(int s_udp,char *sz_buf,int n_len,struct sockaddr_in *p_addr)<BR>&#123;<BR>&nbsp;char sz_buf1[ZF5_BUFFER_SIZE3+2];<BR>&nbsp;int&nbsp; n_len1=0;<BR>&nbsp;sz_buf1[0]=0x00;<BR>&nbsp;sz_buf1[1]=0x00;<BR>&nbsp;sz_buf1[2]=0x00;<BR>&nbsp;sz_buf1[3]=0x01;<BR>&nbsp;&nbsp;&nbsp; memcpy((void *)&amp;sz_buf1[4],(void *)&amp;(p_addr-&gt;sin_addr.s_addr),4);<BR>&nbsp;&nbsp;&nbsp; memcpy((void *)&amp;sz_buf1[8],(void *)&amp;(p_addr-&gt;sin_port),2);<BR>&nbsp;struct sockaddr_in addr;<BR>&nbsp;addr.sin_family=AF_INET;<BR>&nbsp;addr.sin_addr.s_addr=inet_addr(m_sz_udp_srv);<BR>&nbsp;addr.sin_port=htons(m_n_port);<BR>&nbsp;if(addr.sin_addr.s_addr==INADDR_NONE)<BR>&nbsp;&#123;<BR>&nbsp; struct hostent *p=gethostbyname(m_sz_udp_srv);<BR>&nbsp; if(p==NULL)<BR>&nbsp; &#123;<BR>&nbsp;&nbsp; return -1;<BR>&nbsp; &#125;<BR>&nbsp; addr.sin_addr.s_addr=((LPIN_ADDR)p-&gt;h_addr)-&gt;s_addr;<BR>&nbsp;&#125;</P>
<P>&nbsp;memcpy(&amp;sz_buf1[10],sz_buf,n_len);</P>
<P>&nbsp;int n_ret=-1;<BR>&nbsp;n_ret=sendto(s_udp,sz_buf1,n_len+10,0,(struct sockaddr *)&amp;addr,sizeof(struct sockaddr_in ));</P>
<P>&nbsp;return n_ret;<BR>&#125;</P>
<P>//通过sock5接收udp数据<BR>int&nbsp; zf5_sock5_udp::recv_sock5_udp(int s_udp,char *sz_buf,struct sockaddr_in *p_addr)<BR>&#123;<BR>&nbsp;char sz_buf1[ZF5_BUFFER_SIZE3+2];<BR>&nbsp;struct sockaddr_in addr;<BR>&nbsp;int n_ret=-1;<BR>&nbsp;int n_len1=0;<BR>&nbsp;int n_len2=sizeof(struct sockaddr_in);<BR>&nbsp;n_ret=recvfrom(s_udp,sz_buf1,ZF5_BUFFER_SIZE3,0,(struct sockaddr *)&amp;addr,&amp;n_len2);<BR>&nbsp;if(n_ret==SOCKET_ERROR)<BR>&nbsp;&#123;<BR>&nbsp; return -1;<BR>&nbsp;&#125;</P>
<P>&nbsp;if(sz_buf1[3]==0x01)<BR>&nbsp;&#123;<BR>&nbsp; p_addr-&gt;sin_family=AF_INET;<BR>&nbsp; p_addr-&gt;sin_addr.s_addr=*((int *)&amp;(sz_buf1[4]));<BR>&nbsp; p_addr-&gt;sin_port=*((short *)&amp;(sz_buf1[8]));<BR>&nbsp; n_ret-=10;<BR>&nbsp; memcpy(sz_buf,&amp;sz_buf1[10],n_ret);<BR>&nbsp;&#125;<BR>&nbsp;else if(sz_buf1[3]==0x03)<BR>&nbsp;&#123;<BR>&nbsp; char sz_buf2[ZF5_BUFFER_SIZE2+2];<BR>&nbsp; memset(sz_buf2,0,ZF5_BUFFER_SIZE2);<BR>&nbsp; strncpy(sz_buf2,sz_buf2,sz_buf1[4]);<BR>&nbsp; struct hostent *p=gethostbyname(sz_buf2);<BR>&nbsp; if(p==NULL)<BR>&nbsp; &#123;<BR>&nbsp;&nbsp; return -1;<BR>&nbsp; &#125;<BR>&nbsp; n_len1=4+sz_buf1[4];<BR>&nbsp; p_addr-&gt;sin_family=AF_INET;<BR>&nbsp; p_addr-&gt;sin_addr.s_addr=((LPIN_ADDR)p-&gt;h_addr)-&gt;s_addr;<BR>&nbsp; p_addr-&gt;sin_port=*((short *)&amp;(sz_buf1[n_len1]));<BR>&nbsp; <BR>&nbsp; n_ret-=(n_len1+2);<BR>&nbsp; memcpy((void *)sz_buf,(void *)&amp;sz_buf1[n_len1],n_ret);</P>
<P>&nbsp; n_ret-=(4+2+1+sz_buf1[4]);<BR>&nbsp;&#125;<BR>&nbsp;else<BR>&nbsp;&#123;<BR>&nbsp; return -1;<BR>&nbsp;&#125;</P>
<P>&nbsp;return n_ret;<BR>&#125;</P>
<P>//关闭sock5的udp代理<BR>int&nbsp; zf5_sock5_udp::close_sock5_udp()<BR>&#123;<BR>&nbsp;if(m_n_sock5!=INVALID_SOCKET)<BR>&nbsp;&#123;<BR>&nbsp; closesocket(m_n_sock5);<BR>&nbsp; m_n_sock5=INVALID_SOCKET;<BR>&nbsp;&#125;</P>
<P>&nbsp;return 0;<BR>&#125;<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技术资讯站 - 第七视窗" src="/page/images/logo.gif"/></a></div>
	<div id="top_right"><a href="/dev/index.htm">程序开发</a>
<a href="/os/index.htm">操作系统</a>
<a href="/soft/index.htm">软件应用</a>
<a href="/media/index.htm">多 媒 体</a>
<a href="/net/index.htm">网络应用</a>
<a href="/ta/index.htm">教育认证</a>
<a href="/hw/index.htm">硬件维护</a>
<a href="/dev/code/index.htm">编程语言</a>
<a href="/dev/web/index.htm">网站开发</a>

<a href="/dev/db/index.htm">数 据 库</a>
<a href="/dev/project/index.htm">软件工程</a>
<a href="/os/server/index.htm">服 务 器</a>
<a href="/soft/Office/index.htm">办公软件</a>
<a href="/media/image/index.htm">图形图像</a>
<a href="/net/safe/index.htm">网络安全</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">网易泡泡</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> &gt;&gt;  <a href="/dev/index.htm">程序开发</a> &gt;&gt;  <a href="/dev/code/index.htm">编程语言</a> &gt;&gt; UDP下的SOCK5代理实现
</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 &copy; Window07.com - Powered By KingCMS</span>
	</div>
</div>


<script src="/page/count.asp?artid=59858&topicid="></script>


</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -