透过代理(200分)

  • 主题发起人 主题发起人 raway
  • 开始时间 开始时间
R

raway

Unregistered / Unconfirmed
GUEST, unregistred user!
我在编写一个网络通讯程序,具有聊天、邮件的功能,用了Delphi自带的控件:
NMMsg、NMMSGServ、NMStrm、NMStrmServ、NMPOP3、NMSMTP。

该程序在局域网中使用良好,但无法透过局域网对外连接。
我想设计这么一个单元:
用ServerSocket接收程序的连接请求,
再把数据传送给ClientSocket。
由ClientSocket根据使用的控件对象情况,
自动设定好通讯端口,
再查找系统指定的代理作为主机地址,
将连接请求发送到代理服务器上,
由代理服务器上将数据发送到Intenet的对应主机。
接收过程正好相反。

但目前有这么几个问题:
1、我并不知道系统所拥有的是代理服务器还是防火墙。
2、无法将ServerSocket的端口设的和控件的一样,否则系统报错。
3、发送和接收过程老是出错,数据也不完整。
4、NMStrm、NMStrmServ响应缓慢,有时会造成死机。

为此,我想请教各位,如何编写这个程序的对外连接单元,有没有类似的源程序?
 
你试着用一个NMHTT控件,是DELPHI标准控件,它有设置代理服务器项,
有这一项,一切都变简单了
 
>>gen
 
不好意思,我好像找不到NMHTT这个控件,
如果是NMHTTP的话,它只可设立一个HTTP的代理,
似乎无法解决SMTP和POP3的通讯。
 
你的邮件在处理附件的时候正常吗?我用NMPOP3接收时,处理附件时总是会少一个字节,不
知怎么回事?
FastNet那一套东西有很多BUG,早已被公认为垃圾,我劝你及早回头,邮件部分我后来用了
SakeMail,好用的很。
我以前也在这里提出过Socket穿过代理的问题,但是得到的答复是没有办法,呵呵。
 
我有发现用NMPOP3接收时,处理附件时总是会少一个字节, 而且因此而导致数据丢
失, 害得我的数据库文件中有些表可以用, 而有些表就不能用, 这可害死我哟, 我的电
子订单就是用它做的, 不知有没有解决的方法.
 
接受答案了.
 
后退
顶部