跪求解决方法!socks5代理服务器域名问题? 本帖最后由 oyljerry 于 2013-05-17 13:43:08 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.codeproject.com/Articles/1652/CAsyncProxySocket-CAsyncSocket-derived-class-to-co 你在命令行下ping一下这个域名不就知道他的ip和端口了吗?http://blog.csdn.net/bodybo/article/details/7274865 ping过了!所有设置都对着呢!主要我觉得问题就出现在域名怎么传给代理服务器上面!这个格式不知道怎么写! wumn29 wumn29 等级:结帖率:100% #2 得分:0 回复于: 2013-05-17 11:29:57 你在命令行下ping一下这个域名不就知道他的ip和端口了吗?http://blog.csdn.net/bodybo/article/details/7274865 先谢谢你!可是这个贴子我看过了!里面没有关于ip是域名时候怎么处理的! unsigned long tmpLong = inet_addr(ip.c_str()); 210. unsigned short port1 = ntohs(port); 211. memcpy((char*)&proxyreq2->other, &tmpLong, 4); 212. memcpy((char*)(&proxyreq2->other) + 4, &port1, 2); 我想知道ip是域名的时候怎么写? 你用gethostbyname把域名解析成IP地址不就行了吗。这有socket实现的lookup,查找域名:http://download.csdn.net/detail/geoff08zhang/4571358 回复于: 2013-05-17 12:52:57 你用gethostbyname把域名解析成IP地址不就行了吗。这有socket实现的lookup,查找域名:http://download.csdn.net/detail/geoff08zhang/4571358 ///////////////////////////////////////////////我也想过这样做的!可是在真实的代理环境下面客户机是没有DNS的!这个gethostbyname不用dns吗??我这样做过!可是也是不通!我现在按照sock5文档中所规定的格式传域名!可是就是不对!这是写的代码!if (m_nTypeOfIP == CNetTransport::DOMAINNAME) { m_proxyreq2->Atyp = 3; port = ntohs(m_nPort); len=m_strServerIP.GetLength(); m_proxyreq2->other[0]=len; CopyMemory(&m_proxyreq2->other[1],m_strServerIP,len); CopyMemory(&m_proxyreq2->other[1]+len,&port,2); m_sock.Send(buff,sizeof(struct sock5req2)+len+2,0);我就是不知道哪错了!请各位朋友指点一下!谢谢! 没什么奇怪的,我写了sock5 tcp代理.用的没问题.地址字段中的第一字节是以字节为单位的该域名的长度,没有结尾的NULL字节即读指定长度字符数组.给定了长度,没必要通讯占用一个null字节 使用双缓冲,为什么图像会有撕裂的感觉? CmyView显示 bmp图片的时候遇到两个问题。 如何在树状控件ITEM右边显示文本信息 怎样将字符串转换为数字 请问在纯C下如何查找某一指定路径下是否存在我想找的文件夹和文件?谢谢! 各位大哥!本人想知道你们在编程使用什么牌子的键盘和鼠标编程? ####好难的问题,高手进#### socket始终不成功 有会用VC对注册表编程的高手吗? 如何改变背景色和字的颜色? findwindowex的用法求解 MFC 使用UDP协议实现广播
http://blog.csdn.net/bodybo/article/details/7274865
wumn29 等级:
结帖率:100% #2 得分:0 回复于: 2013-05-17 11:29:57
你在命令行下ping一下这个域名不就知道他的ip和端口了吗?
http://blog.csdn.net/bodybo/article/details/7274865 先谢谢你!可是这个贴子我看过了!里面没有关于ip是域名时候怎么处理的!
unsigned long tmpLong = inet_addr(ip.c_str());
210. unsigned short port1 = ntohs(port);
211. memcpy((char*)&proxyreq2->other, &tmpLong, 4);
212. memcpy((char*)(&proxyreq2->other) + 4, &port1, 2);
我想知道ip是域名的时候怎么写?
http://download.csdn.net/detail/geoff08zhang/4571358
你用gethostbyname把域名解析成IP地址不就行了吗。这有socket实现的lookup,查找域名:
http://download.csdn.net/detail/geoff08zhang/4571358
///////////////////////////////////////////////
我也想过这样做的!可是在真实的代理环境下面客户机是没有DNS的!这个gethostbyname不用dns吗??我这样做过!可是也是不通!
我现在按照sock5文档中所规定的格式传域名!可是就是不对!这是写的代码!
if (m_nTypeOfIP == CNetTransport::DOMAINNAME)
{
m_proxyreq2->Atyp = 3;
port = ntohs(m_nPort);
len=m_strServerIP.GetLength();
m_proxyreq2->other[0]=len;
CopyMemory(&m_proxyreq2->other[1],m_strServerIP,len);
CopyMemory(&m_proxyreq2->other[1]+len,&port,2);
m_sock.Send(buff,sizeof(struct sock5req2)+len+2,0);
我就是不知道哪错了!请各位朋友指点一下!谢谢!
即读指定长度字符数组.给定了长度,没必要通讯占用一个null字节