在不同網域 重新建立Socket連線的問題 |
尚未結案
|
baker0907
一般會員 發表:2 回覆:2 積分:0 註冊:2004-10-15 發送簡訊給我 |
已經確認對方的IP與port無誤,
也關閉了防火牆,而且也ping到對方,
可是當我利用以下函式卻會發生SocketError, 可是在相同網域卻又不會發生 Form1.ClientSocket1.Close;
Form1.ClientSocket1.Address := OtherIp;
Form1.ClientSocket1.Port := OtherPort;
Form1.ClientSocket1.Open; 當我呼叫Open()
試圖去連上新的Server時會發生ClientSocketError事件....
TErrorEvent 為 eeConnect
對方的ip已經跟Hinet申請實體ip(DNS)
希望大家可以幫忙解答一下該如何解決這樣的問題 謝謝
|
暗黑破壞神
版主 發表:9 回覆:2301 積分:1627 註冊:2004-10-04 發送簡訊給我 |
對不起delphi 不是我拿手的。所以只能給你方向。
1.ping 不代表網路”通”的。
因為防火牆會擋掉一些東西。
PING 只代表ICMP可以過去。也可以回應。
不代表你們可以在指定的PORT通訊。
2.你可以在DOS SESSION 下用 telnet hostname port
來試試看對方是否會回應。
如果無法連線。
那你要解決的是打一條防火牆的通道過去目標。
而不是在程式上求助。
3.如果ICMP有開放。你可以試試看 tracert 來找找。
這個機器到目標機之間有經過多少台路由。
然後一個一個解決。^_^
4.直接用socket 比用M$的什麼wins容易多了。
加油
|
Ktop_Robot
站務副站長 發表:0 回覆:3511 積分:0 註冊:2007-04-17 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |