線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2167
推到 Plurk!
推到 Facebook!

Client Socket可以 直接傳給另一個Client Sock嗎?

缺席
rik
一般會員


發表:40
回覆:81
積分:24
註冊:2004-09-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-12-23 22:53:48 IP:211.76.xxx.xxx 未訂閱
1.Client Socket可以 不經過Server Socket直接 傳給另一個Client Socket嗎? 此外@@" 2.Client Socket 與Server Socket 之間的傳輸 是走TCP/IP嗎? 3.TcpClient 和TcpServer 的使用法 和 Client Socket 與Server Socket 差很多嗎@@?
------
時與不時的撿起身旁的拼圖碎片

不懂的部分 半解的部分 就像一塊拼圖
留於腦中 等待拼出完美解答的一天

這就是我的思路 我的創作方法
而我也接受 這作法所帶來的"代價" - 時間
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-12-24 01:01:26 IP:211.20.xxx.xxx 未訂閱
引言: 1.Client Socket可以 不經過Server Socket直接 傳給另一個Client Socket嗎? 此外@@" 2.Client Socket 與Server Socket 之間的傳輸 是走TCP/IP嗎? 3.TcpClient 和TcpServer 的使用法 和 Client Socket 與Server Socket 差很多嗎@@?
rik 你好:
(1)不行,Client/Server 是互相對應的,不過你可以自行設計自己的系統架構
   ,讓 Client 同時也是 Server,那麼所有的 Client 之間,就可以達到直接
   傳送訊息的效果 (例如: 所有 Client 都使用 ServerSocket/ClientSocket
   元件,就可以彼此直接互相傳送訊息,而不需要透過 Server 來轉送所有的
   訊息,此時 Server 的功能,只負責讓所有的 Client 註冊,註冊的資訊也
   許會包括 Client 的 IP/Port...等,當 A Client 要傳訊息給 B Client 的
   時候,A Client 就先去問 Server 有關 B Client 的 IP/Port...等必要的
   建立連線資料,得到資料之後,A Client 就可以直接與 B Client 連線,之
   後所有的傳輸訊息,都只在 A Client/B Client 之間發生,而不需要再透過
   Server 的轉送)
(2)是,TCP
(3)感覺上是有一段差距,你可以比較以下的範例,或許會有一些心得
   http://delphi.ktop.com.tw/topic.php?TOPIC_ID=25914
   http://delphi.ktop.com.tw/topic.php?TOPIC_ID=36068
   http://delphi.ktop.com.tw/topic.php?TOPIC_ID=44173
-- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
李國維
高階會員


發表:42
回覆:287
積分:235
註冊:2003-02-07

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-12-24 01:03:55 IP:218.167.xxx.xxx 未訂閱
rik: 1.可以使用UDP的方式. 2.可參考下列連結有關TC/IP和OSI的說明 http://lips.lis.ntu.edu.tw/ytchiang/study/others/tcpiposi.htm 3.你應該是指IdTCPClient. IdTCPClient是Indy的元件.ClientSocket則是Borland所附的元件. 基本上而言兩各元件的基礎原理差不多 差別上來說.Indy的元件有多Thread的設計在裡面.和Indy的元件會更新. 使用法上來說就只是屬性的用法.看看Help就可以用ㄌ. 本人比較建議使用Indy 可搜尋本站你就會找到有關這兩種的使用方法ㄌ. 希望這些答案你能滿意
rik
一般會員


發表:40
回覆:81
積分:24
註冊:2004-09-24

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-12-24 11:34:38 IP:163.13.xxx.xxx 未訂閱
引言:
rik 你好:
(1)不行,Client/Server 是互相對應的,不過你可以自行設計自己的系統架構
   ,讓 Client 同時也是 Server,那麼所有的 Client 之間,就可以達到直接
   傳送訊息的效果 (例如: 所有 Client 都使用 ServerSocket/ClientSocket
   元件,就可以彼此直接互相傳送訊息,而不需要透過 Server 來轉送所有的
   訊息,此時 Server 的功能,只負責讓所有的 Client 註冊,註冊的資訊也
   許會包括 Client 的 IP/Port...等,當 A Client 要傳訊息給 B Client 的
   時候,A Client 就先去問 Server 有關 B Client 的 IP/Port...等必要的
   建立連線資料,得到資料之後,A Client 就可以直接與 B Client 連線,之
   後所有的傳輸訊息,都只在 A Client/B Client 之間發生,而不需要再透過
   Server 的轉送)
(2)是,TCP
(3)感覺上是有一段差距,你可以比較以下的範例,或許會有一些心得
   http://delphi.ktop.com.tw/topic.php?TOPIC_ID=25914
   http://delphi.ktop.com.tw/topic.php?TOPIC_ID=36068
   http://delphi.ktop.com.tw/topic.php?TOPIC_ID=44173
-- Enjoy Researching & Developing --
我又要追加問題了-口-"" 1.之前是試範例時 有發現 ServerSocket內不必設目標位置 只要Client有傳過資料到Server 按下Server方傳送按鈕 就會真的傳到Server方 如何取Client的IP? (有取的才能存起來= =") 2.也就是說 一開始如果 2個ClientSocket 都知道對方IP/Port 就能互傳摟@@? 3.之前看到的25912_client 25913_server 此範例 可以適用於 多個25912_client 1個25913_server嗎? (多個25912_client 要傳給server的圖都不同喔^^")
------
時與不時的撿起身旁的拼圖碎片

不懂的部分 半解的部分 就像一塊拼圖
留於腦中 等待拼出完美解答的一天

這就是我的思路 我的創作方法
而我也接受 這作法所帶來的"代價" - 時間
李國維
高階會員


發表:42
回覆:287
積分:235
註冊:2003-02-07

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-12-24 12:08:15 IP:219.84.xxx.xxx 未訂閱
引言: 我又要追加問題了-口-"" 1.之前是試範例時 有發現 ServerSocket內不必設目標位置 只要Client有傳過資料到Server 按下Server方傳送按鈕 就會真的傳到Server方 如何取Client的IP? (有取的才能存起來= =") 2.也就是說 一開始如果 2個ClientSocket 都知道對方IP/Port 就能互傳摟@@? 3.之前看到的25912_client 25913_server 此範例 可以適用於 多個25912_client 1個25913_server嗎? (多個25912_client 要傳給server的圖都不同喔^^")
rik: 1.Socket->RemoteHost 2.你如果想使用ClientSocket元件的話.你一定就必須要有Server.要不然兩各Client端是無法連線的. 3.不行.你必須自己修改. 建議你.先了解Socket在去寫程式.看程式.修改程式.會比較簡單. 坊間很多這類的書籍.先去study吧.要不然你會越寫越茫然.
rik
一般會員


發表:40
回覆:81
積分:24
註冊:2004-09-24

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-12-24 13:45:30 IP:163.13.xxx.xxx 未訂閱
引言:
引言: 我又要追加問題了-口-"" 1.之前是試範例時 有發現 ServerSocket內不必設目標位置 只要Client有傳過資料到Server 按下Server方傳送按鈕 就會真的傳到Server方 如何取Client的IP? (有取的才能存起來= =") 2.也就是說 一開始如果 2個ClientSocket 都知道對方IP/Port 就能互傳摟@@? 3.之前看到的25912_client 25913_server 此範例 可以適用於 多個25912_client 1個25913_server嗎? (多個25912_client 要傳給server的圖都不同喔^^")
rik: 1.Socket->RemoteHost 2.你如果想使用ClientSocket元件的話.你一定就必須要有Server.要不然兩各Client端是無法連線的. 3.不行.你必須自己修改. 建議你.先了解Socket在去寫程式.看程式.修改程式.會比較簡單. 坊間很多這類的書籍.先去study吧.要不然你會越寫越茫然.
TO 回答2 可是@@" RaynorPao 說 得到資料之後,A Client 就可以直接與 B Client 連線, 之後所有的傳輸訊息,都只在 A Client/B Client 之間發生, 而""""不需要再透過Server"""" 的轉送 發表人 - rik 於 2004/12/24 15:23:29
------
時與不時的撿起身旁的拼圖碎片

不懂的部分 半解的部分 就像一塊拼圖
留於腦中 等待拼出完美解答的一天

這就是我的思路 我的創作方法
而我也接受 這作法所帶來的"代價" - 時間
李國維
高階會員


發表:42
回覆:287
積分:235
註冊:2003-02-07

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-12-24 17:17:11 IP:219.84.xxx.xxx 未訂閱
rik: 包子大大是說你要把架構改成Server/Client就是同時有Server跟Client. 還是有Server的原理在上面.並不表示Client可以直接連到Client.
系統時間:2024-05-16 23:56:03
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!