反向连接服务器和SMTP故障

时间:2012-04-14 19:11:39

标签: c# sockets smtp reverse-proxy

我不明白这类错误的问题是什么。 我有一个Back-Connect服务器(类型Socks4 / 5或HTTP)。我使用服务器连接到远程PC之一。为此,我打开一个TCP-Connection到这个服务器之一(serverip:randport)。

// create an instance of the client proxy factory
            ProxyClientFactory factory = new ProxyClientFactory();

            ProxyHost = "string:serverIP";
            ProxyPort = int:serverPort;

            proxy = factory.CreateProxyClient(proxyType, ProxyHost, ProxyPort);
            try
            { .. }

我为该工​​厂使用Starksoft SOCKS和HTTP代理组件v1.0.130.0。

现在问题是: 发送电子邮件我使用RFC821配置远程PC上的通信。 如果您的提供商在localhost打开了25端口,则这是相同的交易。

            snd("HELO", true);
            snd("MAIL FROM:" + sender, true);
            snd("RCPT TO:" + recipient, true);
            snd("DATA", true);
            snd("From: " + sender);
            snd("To: " + recipient);
            snd("Subject: " + subject);
            snd("");
            snd(messagebody);
            snd(".", true);
            snd("QUIT", true);  

我在这一行收到错误

private bool snd(string buffer, bool getresponse)
        {
            this.response = "";
            NetworkStream stream = this.GetStream();
            Byte[] sendBytes = Encoding.Default.GetBytes(buffer + crlf);
            if (!stream.CanWrite) { return false; }
            try
            {
                stream.Write(sendBytes, 0, sendBytes.Length);
            }

Screen Nr1 + $ exception {“无法将数据写入传输连接:已建立的连接已被主机中的软件中止。”} System.Exception {System.IO.IOException}

和控制台在异常时写这个 Screen Nr2in

我如何进行反向反接连接???

答案是使用中间服务器。然后脚本将如下所示:

  1. 打开端口没有问题的中间服务器,例如,服务器为65 080,客户端为80
  2. 有一个服务器(HTTP),它无法打开端口,但他知道中间服务器的地址,以及“服务器”端口65080.它连接到中间服务器连接1.
  3. 有一个常规客户端,例如浏览器
  4. 客户端连接到端口80连接2上的中间服务器,并发出请求
  5. 此外,中间服务器直接向连接到端口65 080化合物1的执行请求报告,该请求必须解决 -
  6. 服务器接收请求,服务器连接到另一个中间化合物3,询问中间件服务器请求,完成它并向响应服务器发送响应
  7. 中间服务器将响应从服务器(从化合物3)转发到客户端(对于化合物2)
  8. 客户端终止连接
  9. 那我哪里出错?

0 个答案:

没有答案