用winsock写的客户端通过proxy怎么与用winsock写的服务器端通讯? 用winsock写的客户端通过proxy怎么与用winsock写的服务器端通讯? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 我也想知道!知道通知我[email protected]谢谢 如果服务器端不是在局域网内或者没有单独的IP地址,可能不好办.但如果服务端是通过拨号上的网或有固定IP地址(不是内部IP),则不管客户端在什么地方,都应该可以通讯. 程序无需做修改,只需要服务器的IP和Port时指到相应的位置就可以了。怎样通过代理、怎样路由不是你需要考虑的~~~这是TCP/IP协议的问题 但是每一个网络都有自己的ip,而且还有自己的内部ip,这个怎么判断呀,用winsock,tcp怎么找呀 我也想知道?我又一台机子双网卡做代理服务器,其他局域网内的机器通过他上网,如果我局域网内的机器想和一个知道ip的internet服务器通讯,编程和局网内机器通讯有何区别????急!!!!!!! 顶一下子,希望高手解释原理,我down了个例程试了下,可以但是不明白原理?????? 简单地说:一台局域网中的客户机发出的ip数据包(例如:连接到名字叫www.sina.com.cn的计算机的数据包)首先会在本地局域网中寻址,,确认找不到www.sina.com.cn这台机器,才通过网关发到internet上,通过internet上的路由发到相应的机器上 所以你并不需要考虑怎样是否通过了代理或其他的设备,这是TCP/IP协议的功能,只要服务器端的ip地址是确定的,并且是internet上合法的,你就可以和它通信 TO: usaspy(行走的鱼) ,比如说,我在internet上有个机器,有固定ip(211.100.1.1),现在想跟某局域网的一台机器联系,此局域网有n台机器,通过代理连接到internet,代理服务器在internet上的ip是(211.100.1.100),而此局域网内的机器网段是192.168.1.X,你能具体说说用winsock怎么实现从211.100.1.1 到 192.168.1.1的访问吗? ip包里是路由器或代理服务器的IP地址,192.168.*.*在Internet上是不能用的 我以为,你的Server端不能在局域网里,而客户端可以在任何局域网里,比如客户端192。168。1。1请求连接,那么经过了局域网代理服务器,这个请求的IP可能就变成了211。100。1。1:9090 ,这个ip就是代理的ip,这个端口是代理服务器分配的,server就把这个客户端的请求当作真正的客户端来处理,其实这只是代理服务器虚拟出的一个端口,当server端向211。100。1。1:9090 发回应时,这个回应会被代理自动翻译分配到192。168。1。1上,对于server端和客户端,这个过程相当于透明的。如果双方都是经过了代理,那么必须有个中间服务器翻译两个代理之间的通信请求,当两个客户端建立起直接连接后,中间服务器退出参于。个人想法,不知道对不对 同意usaspy(行走的鱼) ,你应该看看有关路由和网段等东东的相关知识 你能具体说说用winsock怎么实现从211.100.1.1 到 192.168.1.1的访问吗?这是不可能的。winsock只负责udp or tcp 上层的事。至于ip的路由。他是无能为力。 也不是他要管的事严重同意上面2为的说法需要明白中转分2类。 一类是ccproxy等的代理。 另外一类是 采用NAT技术microsoft的连接共享 代理是一种规范(协议)。必须你的程序要写连接代理的代码(比如代理的ip和端口。著名的socket5代理)而nat技术只是端口映射。 只要client选择了网关。ip数据包会发自动送给网关。网关nat来进行ip和端口映射通信如果2方都不在网内。可以直接通信如果1方在网内1方在共网。则网内可以直接连接网外要网外连接网内必须转换成网内连接网外。需要网内机器发送通知给第3方。网外连接网内的时候。第3方在用udp(重要!走网内机器告诉3的虚拟通道!nat这是有保留时间的!所以要经常维持)告诉网内机器,叫网内去跟网外连接如果双方都是经过了代理,那么必须有个中间服务器翻译两个代理之间的通信请求,当两个客户端建立起直接连接后,中间服务器退出参于。意味如果双方都在代理后面。你的server必须通知第3方(可以是internet固定的一个ip,双方都知道)。可以采用server发送个特殊格式udp包。 第3方接收到后记录这个udp包的ip。其实对于第3方观看到的ip就是server的“代理服务器”的ip这个时候client去访问第3方的ip。然后跟3建立tcp连接。然后3通知server。要server来和3建立连接(重要!3不可以和server建立连接!)。这样 3告诉client已经连接。然后client发数据给3,3转给server, server发给3,3在转个client以上可以实现 client server 的tcp连接(不论网内还是在共网上的)强烈建议多看看tcp/ip协议的书 问题是,我是局网的客户端,通过代理和大网的固定IP连接,这时候我的程序如何写,肯定和局网间用户的通信不一样。好像是要三个WINSOCK ,一个用来和代理服务器通信,先和代理建立连接后,另一个WINSOCK再请求连接,......我好像看别人说过一点,剩下的不记得了,请高手们说明白,多谢,我也可以给分!现在要写一个这样的程序,急,找不到以前看过的文章了,才在这里问??? How to retrieve a file from the Web through a proxy serverhttp://www.vbip.com/winsock/winsock_http_03_01.asp winsock用Tcp那是传输层协议,而IP路由是网络层,你可以不用管阿~~~,只要你网络进行了相关的配置就可以拉 to usaspy(行走的鱼) :我想并不是这么容易的事情,要不然,IE中怎么会有代理设置这一项?一些S/C的C端怎么会有代理设置这一项?一些通讯组件怎么会有Proxy这一项? 我想,楼主也一定写过一般的TCP程序,在同一个局域网内当天没有问题,两方都直接在公网上也没有什么问题,但一方通过代理上网(客户端也一样),那就可能连不上,原因大家都知道,只是怎么写这样的通讯程序呢? 如何接收并保存从网页中拖拽过来的图片? 关于webbrowser自动提交的问题 问一个问题,这里可以散分吗? 如何结束一个进程 关于ClientToScreen函数的一个非常奇怪的问题 用winsock实现ftp上传功能 怎样在程序中让树形控件的某个结点获得焦点? VB如何连接SQL Server? 请教混合编程的问题 新手想做<易经>作为编程学习,请前辈高手给点建议,也请新手大家研究. 在线等待急、急、急、、、100分 一个关于使用相对路径的问题,对就给分,不够另加帖.
知道通知我
[email protected]
谢谢
但如果服务端是通过拨号上的网或有固定IP地址(不是内部IP),则不管客户端在什么地方,都应该可以通讯.
怎样通过代理、怎样路由不是你需要考虑的~~~这是TCP/IP协议的问题
我又一台机子双网卡做代理服务器,其他局域网内的机器通过他上网,如果我局域网内的机器想和一个知道ip的internet服务器通讯,编程和局网内机器通讯有何区别????急!!!!!!!
这是不可能的。winsock只负责udp or tcp 上层的事。
至于ip的路由。他是无能为力。 也不是他要管的事
严重同意上面2为的说法
需要明白中转分2类。 一类是ccproxy等的代理。 另外一类是 采用NAT技术microsoft的连接共享
代理是一种规范(协议)。必须你的程序要写连接代理的代码(比如代理的ip和端口。著名的socket5代理)
而nat技术只是端口映射。 只要client选择了网关。ip数据包会发自动送给网关。网关nat来进行ip和端口映射通信如果2方都不在网内。可以直接通信如果1方在网内1方在共网。则网内可以直接连接网外
要网外连接网内必须转换成网内连接网外。需要网内机器发送通知给第3方。网外连接网内的时候。第3方在用udp(重要!走网内机器告诉3的虚拟通道!nat这是有保留时间的!所以要经常维持)告诉网内机器,叫网内去跟网外连接如果双方都是经过了代理,那么必须有个中间服务器翻译两个代理之间的通信请求,当两个客户端建立起直接连接后,中间服务器退出参于。
意味如果双方都在代理后面。你的server必须通知第3方(可以是internet固定的一个ip,双方都知道)。可以采用server发送个特殊格式udp包。 第3方接收到后记录这个udp包的ip。其实对于第3方观看到的ip就是server的“代理服务器”的ip
这个时候client去访问第3方的ip。然后跟3建立tcp连接。然后3通知server。要server来和3建立连接(重要!3不可以和server建立连接!)。这样 3告诉client已经连接。然后client发数据给3,3转给server, server发给3,3在转个client以上可以实现 client server 的tcp连接(不论网内还是在共网上的)强烈建议多看看tcp/ip协议的书
http://www.vbip.com/winsock/winsock_http_03_01.asp
我想并不是这么容易的事情,要不然,IE中怎么会有代理设置这一项?一些S/C的C端怎么会有代理设置这一项?一些通讯组件怎么会有Proxy这一项?