代理服務器設置

0 views
Skip to first unread message

0open0

unread,
Oct 13, 2008, 5:26:13 AM10/13/08
to 高性能网络编程邮件列表
請教一個網絡問題!!!
服務器1 <------------------------------ 代理服務器 ------------------------>服務器
2

服務器1與服務器2由於一種腳本實現,只能實現服務器功能,不支持客戶端的連接功能,現想用C寫一個服務器連上服務器1與服務器2, 進行數據中轉功
能!!! 問題是,代理服務器與服務器1,或者 服務器2建立連接後,是不是服務器1就可以永遠的主動的向代理服務器發送數據,而不必要代理服
務器的觸發,使服務器1發送數據至代理服務器???
我認為轉為數據的時候,都是由代理服務器向服務器1詢問數據,服務器1才向代理服務器發送數據,而不是建立一次鏈接後就服務器1就可以主動的向代理服務
器發送數據!!!!!!!

unixpm

unread,
Oct 17, 2008, 10:12:31 PM10/17/08
to dev4s...@googlegroups.com
 重来没见过代理服务器是主动的。
 
具体要看你的数据转发到底是那层,可以是ip,也可以是tcp,
 
所以你的数据转发模型必须看你的具体协议

[广告] 金秋最关注楼盘-房不胜房

狄卫华

unread,
Oct 17, 2008, 11:54:03 PM10/17/08
to dev4s...@googlegroups.com
 第一,根据你描述的代理服务器功能来说,其实就是一个客户端,将服务器1的数据收下来,然后转发给服务器2,
       称作代理服务器有点牵强。这里我称你得代理服务器为Client, 服务器1为 Server1
 
 第二,Client如何从Server1获得数据,也就是你所谓的数据触发机制,这个要看服务器的具体实现,
     
       1) 如果Server1是 Request -> Response 的模型,就像你用web上网一样,你请求WEB Server给你响应,
          这种模型你必须每次都要触发才能从Server1获取数据,而下次获取数据必须发送Request。 
       2) 如果Server是只要客户端连接上来,只要有数据存在,就会发送到Client,也就是只要你登录上去,
          服务器就会把数据源源不断发送给你(或者你发送个Request后,服务区才发送以后的数据给你),
          这样的话就是你说得只要连接后就会有数据过来的情况了。通常的告警服务器都是这种模式。
 
所以具体要看你的Server实现的方式是怎么样的。

在2008-10-18,unixpm <uni...@163.com> 写道:

[广告] 金秋最关注楼盘-房不胜房

0open0

unread,
Oct 18, 2008, 12:04:12 PM10/18/08
to 高性能网络编程邮件列表
谢谢,分析的很清楚!
其实我现在想实现的也就是你所说的第二种的第2小点!!!
代理服务器相当于一客户端,发送数据给服务器!!!第一次通迅完成后,按道理来说服务器就可以直接给客户端发送数据!!
但是我现在想做的是,服务器能不能永远跟客户端保持连接!!而且服务器永远保持第一个与客户端成功建立连接好的文件描述符发送数据!!!

有点疑惑的是,服务器端保存的这个文件描述符会永远的有用吗?服务器端永远可以与客户端保持连接吗? ?


On 10月18日, 上午11时54分, 狄卫华 <dwh0...@163.com> wrote:
> 第一,根据你描述的代理服务器功能来说,其实就是一个客户端,将服务器1的数据收下来,然后转发给服务器2,
> 称作代理服务器有点牵强。这里我称你得代理服务器为Client, 服务器1为 Server1
>
> 第二,Client如何从Server1获得数据,也就是你所谓的数据触发机制,这个要看服务器的具体实现,
>
> 1) 如果Server1是 Request -> Response 的模型,就像你用web上网一样,你请求WEB Server给你响应,
> 这种模型你必须每次都要触发才能从Server1获取数据,而下次获取数据必须发送Request。
> 2) 如果Server是只要客户端连接上来,只要有数据存在,就会发送到Client,也就是只要你登录上去,
> 服务器就会把数据源源不断发送给你(或者你发送个Request后,服务区才发送以后的数据给你),
> 这样的话就是你说得只要连接后就会有数据过来的情况了。通常的告警服务器都是这种模式。
>
> 所以具体要看你的Server实现的方式是怎么样的。
>
> 在2008-10-18,unixpm <uni...@163.com> 写道:
>
> 重来没见过代理服务器是主动的。
>
> 具体要看你的数据转发到底是那层,可以是ip,也可以是tcp,
>
> 所以你的数据转发模型必须看你的具体协议
>
> 在2008-10-13,0open0 <hotice...@gmail.com> 写道:
>
> >請教一個網絡問題!!!
> >服務器1 <------------------------------ 代理服務器 ------------------------>服務器
> >2
>
> >服務器1與服務器2由於一種腳本實現,只能實現服務器功能,不支持客戶端的連接功能,現想用C寫一個服務器連上服務器1與服務器2, 進行數據中轉功
> >能!!! 問題是,代理服務器與服務器1,或者 服務器2建立連接後,是不是服務器1就可以永遠的主動的向代理服務器發送數據,而不必要代理服
> >務器的觸發,使服務器1發送數據至代理服務器???
> >我認為轉為數據的時候,都是由代理服務器向服務器1詢問數據,服務器1才向代理服務器發送數據,而不是建立一次鏈接後就服務器1就可以主動的向代理服務
> >器發送數據!!!!!!!
>
> [广告] 金秋最关注楼盘-房不胜房

Samuel Chi

unread,
Oct 18, 2008, 12:12:55 PM10/18/08
to dev4s...@googlegroups.com


2008/10/19 0open0 <hoti...@gmail.com>

谢谢,分析的很清楚!
其实我现在想实现的也就是你所说的第二种的第2小点!!!
代理服务器相当于一客户端,发送数据给服务器!!!第一次通迅完成后,按道理来说服务器就可以直接给客户端发送数据!!
但是我现在想做的是,服务器能不能永远跟客户端保持连接!!而且服务器永远保持第一个与客户端成功建立连接好的文件描述符发送数据!!!

有点疑惑的是,服务器端保存的这个文件描述符会永远的有用吗?服务器端永远可以与客户端保持连接吗? ?

粗粗看了一下,觉得socksServer就类似你想要的东西;如果是的话,搜一下socks5-v1.0r11吧.

狄卫华

unread,
Oct 19, 2008, 11:00:20 PM10/19/08
to dev4s...@googlegroups.com
  
那问题就很清楚了, 至于服务器对于你客户端连接的保持问题, 这个还是要看服务器的具体实现了, 一般来说服务器为了避免攻击都会对客户端登陆后一定时间内没有数据的话就会关闭客户端, 如果没有超时无数据关闭和通信的故障(包括物理链路或者发送的包错误等),服务器是能一直保存客户端登陆的socket描述符的.
 
因此重要的问题还是,你的决定应该取决于服务器对于客户端关闭的处理情况, 另需要确认服务器和客户端保持连接是否使用了心跳消息, 就是服务器和客户端是否定时交换信息以确定对端的存在.
 
总而言之,一切都取决于服务器端的设计和实施方案. 希望能对你有所帮助.
 
 
 

在2008-10-19,0open0 <hoti...@gmail.com> 写道:
>谢谢,分析的很清楚!
>其实我现在想实现的也就是你所说的第二种的第2小点!!!
>代理服务器相当于一客户端,发送数据给服务器!!!第一次通迅完成后,按道理来说服务器就可以直接给客户端发送数据!!
>但是我现在想做的是,服务器能不能永远跟客户端保持连接!!而且服务器永远保持第一个与客户端成功建立连接好的文件描述符发送数据!!!
>
>有点疑惑的是,服务器端保存的这个文件描述符会永远的有用吗?服务器端永远可以与客户端保持连接吗? ?
>
>
>On 10月18日, 上午11时54分, 狄卫华 



[广告] 金秋最关注楼盘-房不胜房
Reply all
Reply to author
Forward
0 new messages