关于SOCK5代理服务器的第二次协商问题?

lu_zi 2003-06-06 04:53:17
对于SOCK5代理服务,在首次协商完成成功后,第二次协商时,服务器会返回一个IP地址和端口号,对于这两个值应该如何处理?是否是如果原来的地址和这个址不同时,要进行对这个地址的重新连接,就是说重新连接到它返回的地址上,请分别说说不同命令(CONNECT,BIND,UDP)情况,感激不尽,痛哭流水!!!
...全文
111 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaohyy 2003-08-29
  • 打赏
  • 举报
回复
>>第一次返回的端口地址是socks5服务器绑定并监听的端口,
>>这个端口用于外部程序的连接,客户端要把这个端口/地址通知给外部程序。

客户端都是通过代理服务器连出去的,怎么通知外部程序?客户端和外部并没有保持连接

返回的地址和端口是没有用的
xiaohyy 2003-08-29
  • 打赏
  • 举报
回复
呵呵,我说的是CONNECT方式,taolei(实在无聊) 说的是BIND方式,误会误会
lu_zi 2003-06-09
  • 打赏
  • 举报
回复
多谢,多谢!!!
taolei 2003-06-08
  • 打赏
  • 举报
回复
要保持这个连接。
RFC1928有socks5的详细说明。
BIND方式用于外部连接内部的情况。
socks5服务器会有两次reply,
第一次返回的端口地址是socks5服务器绑定并监听的端口,
这个端口用于外部程序的连接,客户端要把这个端口/地址通知给外部程序。
当外部程序连接这个端口后,
socks5服务器返回第二个reply,这次返回的端口地址是外部程序连接的端口地址。
然后,这个连接就会和外部程序的连接绑定上,跟CONNECT方式一样了。
lu_zi 2003-06-07
  • 打赏
  • 举报
回复
那对于 BIND方式,在进行完第一次协商后,是不是要保持这个连接,再向监听代理的另外的一个连接?
如果是这样的话第一个连接有什么用吗,我们应该如何使用这两个连接呢,多谢!!!
marinee 2003-06-07
  • 打赏
  • 举报
回复
rfc上是这么讲的,不过我测试时发现没有返回IP地址和端口号,然后也没管它就直接send,receive,也没有什么问题。
网上有类似的代码,好象都没考虑这个问题。
taolei 2003-06-07
  • 打赏
  • 举报
回复
CONNECT 是同一个连接保持的,返回的端口没有用。

BIND返回绑定/监听的端口, 用于支持类似ftp的使用
UDP返回的是绑定的UDP端口,客户端发送UDP数据包要往这个端口发送,服务器负责转发到外部。
曾经的猎狐 2003-06-07
  • 打赏
  • 举报
回复
up
happyhuang 2003-06-06
  • 打赏
  • 举报
回复
为什么要第二次协商?第一次协商成功之后就可以用了啊

18,358

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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