rt,大家討論一下。
uj5u.com熱心網友回復:
用send函式uj5u.com熱心網友回復:
傳檔案的我沒有怎么用過,但是字符的互動還可以,多了有點丟資料uj5u.com熱心網友回復:
P2P還真沒搞過,估計還是要一個服務器程式接收并存盤各個客戶端的連接資訊如IP和偵聽埠等的連接串列.
并且,每個客戶端都需要打開一個偵聽埠,
這樣,各個客戶端之間通過該連接串列找到對方的IP和偵聽埠再連接發送資料什么的.
uj5u.com熱心網友回復:
當然,客戶端的偵聽埠可以是隨機的.uj5u.com熱心網友回復:
winsock.pbl (pblib21.dll)中一次發的報文有多大呀?誰用過,樓上的,如果沒有其它辦法,那你的辦法是可以選用的,我改進一下。
1.一般情況下,大家都在c/s方式上作業,有一個server, 通過server監聽,使各個client聯在一起。
2.有發送請求的A方,把檔案按最大報文,分切后,向對方發送訊息,每塊大小,多少塊,順序。
3.接收方根據自已本機的情況,把接由埠的順序似次發過去。(2133,2134,2145,2166,)多少埠,還是看效率吧,然后分別監聽這些埠。
4.發送方發送資料。資料前面加固定的幾位順序號。接收方收的時候把這些號取掉。
5.接收方檢查資料,沒有收到的上重發。
6.如果全部收完,通知發送方。接收方整理資料。
8.關閉監聽。
uj5u.com熱心網友回復:
1、winsock.pbl+pblib21.dll 測驗過,C/S連接單向發送資料(有點像對講機,C方講完后,S方接收,然后S方再講,C方接收。)發送的資料量基本沒有限制。因為在任何一個發送方可以限定每次發送幾K的資料,然后無數次的發送。接收方只要按照收到資料的先后順序組合即可。當然資料過大還可以用工具像 zlib.dll 壓縮一下。
2、
winsock2.0 的資料手上不多,不知道有什么其它的方法,比如是否可以改進對講機成電話什么的。
uj5u.com熱心網友回復:
不錯不錯,看看有沒有別的方法。。。uj5u.com熱心網友回復:
建議直接采用C#或者C++來寫,PB呼叫,有需要者我可以把程式寫貼上uj5u.com熱心網友回復:
有需要呀。如有可能,貼上或發郵件[email protected],謝謝uj5u.com熱心網友回復:
我也有需要啊,郵件[email protected],謝謝
uj5u.com熱心網友回復:
關注uj5u.com熱心網友回復:
我也要,[email protected]uj5u.com熱心網友回復:
我也要 請大俠發送到我的郵箱:[email protected]uj5u.com熱心網友回復:
用pb做也可以吧,原理搞清楚了,就開始做就可以了.uj5u.com熱心網友回復:
能發一份嗎,謝謝[email protected]
uj5u.com熱心網友回復:
WINSOCK.PBL可以實作p2p檔案傳送與接收.簡單思路如下:Client:FileOpen>>FileRead>>sent(blob)>>FileClose
Server:recv(blob)>>FileWrite>>FileClose
可惜不會VC++,要是用VC++把winsocket api簡單封裝,提供一個方法獲取buf的len,如GetDataLen(int socket).那么PB & PPB就能更好地呼叫API.
http://topic.csdn.net/u/20091116/17/35b80a58-de40-46be-8280-feb4f2294655.html?seed=714492869&r=61309307#r_61309307
uj5u.com熱心網友回復:
能發一份嗎,謝謝轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/79270.html
標籤:API 調用
