怎样在代理服务器上打开一个指定端口?

xlfrd 2000-11-25 12:48:00
我写的一个聊天程序需要在机器上固定打开一个端口10000,以等待客户端的连接,但如果在代理服务器后面(如:网吧或公司局域网中)运行后,它所打开的端口10000在代理服务器以外是否也是10000,我在局域网以外向该代理服务器连接时却失败了。怎样在代理服务器上打开一个指定端口呢?
...全文
642 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
tzp 2001-05-04
  • 打赏
  • 举报
回复
我已用delphi实现了代理服务器
w12 2001-03-31
  • 打赏
  • 举报
回复
当局域网内向外连接(TCP)时,代理会:
局域网源IP---映射》代理服务器IP
局域网源PORT---映射》随机PORT

但目标IP和目标PORT不会改变,连接一但建立,双方将使用:
{代理服务器IP,随机PORT}《-----》{目标IP,目标PORT}

此时双方可互相自由通讯,但连接结束后,代理会释放{随机PORT}。
使用一些网络监视工具可以得到这些数据

w12 2001-03-31
  • 打赏
  • 举报
回复
当局域网内向外连接时,代理会:
局域网IP---》代理服务器IP
delphiestboy 2001-03-31
  • 打赏
  • 举报
回复
我也想知道!
squiffy 2000-12-06
  • 打赏
  • 举报
回复
代理服务器只能允许内部网络向往主动发起连接,例如从你的内部网络的主机上向外发起一个连接通过代理服务器之后,数据包的源地址变成代理服务器的地址,断口也变了。但是目的地址是不会变得。所以可以和外部网络你的应用程序通信聊天。
但是如果你的聊天程序在内部网络,外部一个主机想主动和你聊天就不行了。你想想,外部网络向联通你的内部网络只能使用你的代理服务器的地址。一个地址怎么可能区别到底和那台内部的PC通信呢?如果使用路由器作为代理访问Internet,有的路由器可以支持配置建立静态的连接。这样才可以使用。
jiujiejushi 2000-12-06
  • 打赏
  • 举报
回复
代理服务器只是一个软件呀,而且你要打开的端口必须用来listen,然后怎么办?再让代理服务器替你accept?这样做是行不通的。
最简单的办法就是把你的服务运行在代理服务器所在的计算机上。

建议你了解一下代理服务器。
jiujiejushi 2000-12-06
  • 打赏
  • 举报
回复
补充一句,TCP MAP有的代理服务器叫做频道.
SMTP协议(发送邮件用的协议)由于自身的特性,没有办法写单一的代理服务.
jiujiejushi 2000-12-06
  • 打赏
  • 举报
回复
办法当然有啦,跟协议无关.
在代理服务器(软件)上开一个TCP MAP,端口10000(当然可以改啦,只要通知你的客户就行了),地址为外部地址,映射到你的服务器的10000端口(现在这个端口可以随便改了,只要相应修改映射目标就行了).
对于客户来讲,服务器就是代理服务器的10000端口,只有你才知道其实真正的服务器是另外一台计算机.

TCP MAP:
TCP端口映射服务.代理服务器通常用来映射SMTP服务器的代理服务,将一个端口映射为远程服务器.访问这个端口就等于访问远程服务器.
xlfrd 2000-12-06
  • 打赏
  • 举报
回复
有没有通讯协议可以指定代理服务器打开某个端口的?
xlfrd 2000-12-05
  • 打赏
  • 举报
回复
请高手指导指导嘛,在下先谢谢了。

16,548

社区成员

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

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

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