请问winSockets如何用Proxy?

jing 2000-02-22 01:58:00
...全文
355 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
meifen 2001-07-13
  • 打赏
  • 举报
回复
4
godmouse 2000-09-19
  • 打赏
  • 举报
回复

谁有关于Socket4/Socket5编程的资料,请给我,谢谢!
mainroad 2000-02-25
  • 打赏
  • 举报
回复
直接用m_Socket.Connect("155.69.111.86", XXXX),根据需要采用端口号,
然后在OnSend里发送"您好!"
你不用管代理服务器的存在,想连哪直接连哪。代理服务器会自动
判别怎样转交你的请求。
crab 2000-02-25
  • 打赏
  • 举报
回复
与netmare意见一致,主要是若协议不定无法确定端口号,故只能对高层协议用proxy
xenogear 2000-02-25
  • 打赏
  • 举报
回复
挠头, 我没有做过点对点的传送消息, 我做过的是向一个服务器发送消息. 过程是这样的
通过上面的代码连接之后, strConnect的内容为"POST http://xxx.xxx.xxx/cgi-bin/xxx xxxxxxxx",然后Receive得到服务器返回的内容,比如服务器要redirect到其他网页, 就再发送消息"GET http://xxxx.xxx.xxx/xxx xxxx"等等.
浏览器编程的话, 就是直接connect之后, send "GET http://xxx.xxx.xxx"

我想点对点的传送消息, 因为对方也应该有相应的软件, 这样对方应该算是服务器, 它会listen端口的信息, 比如说, post一个消息到该ip, 然后就会有返回了, 如果连接成功, 就可以send内容了吧. 我没做过, 嘻嘻, 错了包换
vcman 2000-02-25
  • 打赏
  • 举报
回复
大拿们,上
netmare 2000-02-25
  • 打赏
  • 举报
回复
代理是对某些协议(如http,ftp等)设的,不是随便一个ip包都能转发的
sean 2000-02-25
  • 打赏
  • 举报
回复
·可是你要发送到155.69.111.88的消息,如“您好!”,放在哪里?
·谢谢!
xenogear 2000-02-23
  • 打赏
  • 举报
回复
对, littletao说的对, 通过proxy向目标发请求时是用POST,
成功之后, 用GET来得到通过POST之后返回的内容
littletao 2000-02-23
  • 打赏
  • 举报
回复
这是在初始化时做的工作,用www来举例。
你打开ie,连接155.69.111.88,如果设置了代理服务器,
IE是向代理服务器做访问请求的。
代理服务器将会收到"POST http://155.69.111.88",
可以通过这数据使代理服务器取得目标地址。然后代理服务器上new一个
winsock,和目标地址连接。
这样代理服务器同时连接了客户和web服务器,报文只需要
在2个socket间转发就可以了。
sean 2000-02-23
  • 打赏
  • 举报
回复
·如果我发送的目标地址是:155.69.111.88
·代理服务器的地址是155.69.1.44:8080
·WinSocket又如何判断目标地址呢?
·代理服务器怎么知道你的目标是155.69.111.88呢?
·谢谢!
littletao 2000-02-23
  • 打赏
  • 举报
回复
其实你把目标地址和port设置成代理服务器相应的地址和端口,
编程没什么2样,代理服务器会自动转发报文的。
xenogear 2000-02-23
  • 打赏
  • 举报
回复
对呀, 上面的只是部分代码, 你要发送的地方你自己当然需要知道呀.
在上面的代码中,strConnect就是发送给代理服务器的消息, 比如
strConnect = "POST http://155.69.111.88"
然后代理服务器就会创建一个连接, 连接到目标地址
sean 2000-02-23
  • 打赏
  • 举报
回复
·我的意思是m_Socket.Connect("155.69.1.44", 8080);//连接的是代理服务器地址和端口,WinSocket并不知道目的地址是155.69.111.88
·以上程序中并未设置目的地址
xenogear 2000-02-22
  • 打赏
  • 举报
回复
比如说, 下面一段代码是创建和连接发送
其中, m_Socket是CAsynSocket对象

if(AfxSocketInit())
{
m_Socket.Create();
m_Socket.Connect("155.69.1.44", 8080);
m_Socket.Send(strConnect, strConnect.GetLength());
}
jing 2000-02-22
  • 打赏
  • 举报
回复
谢谢大哥,详细一点好吗?
xenogear 2000-02-22
  • 打赏
  • 举报
回复
Connect要连接proxy服务器, 然后执行Send和Receive

16,466

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧