局域网与互联网通信问题,关于用ClientSocket连接pop服务器问题。(20分)

Z

zhbruce

Unregistered / Unconfirmed
GUEST, unregistred user!
在公司的局域网里出现的情况。
我是用ClientSocket连到邮件服务器上(pop的命令方式),服务器反回了正确的信息,接
下来我发送USER (pop的命令方式),没有反映(任何命令都没有反映)。
后来我在家里试同样的程序,用单机用ADSL,服务器返回正确的信息。我估计在公司
里是因为局域网,可能是网关一类的东西拦了信息。请问如何解决这个问题。如何做到
在局域网里都能用这个程序。
有一点要重提一下是:在公司用ClientSocket连到邮件服务器上,对方服务器有
返回一个信息说是连接成功。之后的命令发出去后(用sendtext发出,sendtext有返回发出字数的数字,按Help文档的意思这应该是发送成功),但是我这边收不到任何返回的信息。
如何解决,谢谢。
 
呵,我估计你的USER命令后面忘记加回车了吧?^_^
看看我的邮件检查程序的源码吧:http://msrc.126.com
 
加了回车(是'/n'吧?我用C++builder写的).我用TClientSocket的onread,当有数据到来时就运行我的动作,但是onread除了第一次
连通时有信息,其它时候都没有.
我在家里用是正常的,但是在公司就不行.
 
不对,接下来应该先发送“问好”消息,user命令在后面才发送的。另外回车是肯定要发送
过去的。
比如应该是
send("user clq "+#13#10);
而不是
send("user clq ");//sorry edit
 
我还要重申一点,回车我是发了过去.
在家里用的时候,对方服务器返回对应的命令消息.(如果无加回车,在家的时候也不行,问题
是在家可以收到信息,在公司收不到返回的消息)
当有服务器返回信息发过来触发onread时,我就用ReceiveText接收,经过我测试,onread只是连接在
服务器之时,服务器返回欢迎信息时触发过onread之后就没有触发过啦.(这是在公司局域网的
情况,在我家用ADSL就没有这种情况出现)
想知道如何解决.
谢谢帮忙,不胜感激.
 
顶部