1樓:正牌小卡
自動解壓不會。另外你向殼戶端傳的是大檔案的話,這就要考慮多執行緒技術了,用socket通訊來做,你先查查多執行緒socket通訊技術吧,還有訊息佇列
c# socket網路程式設計,如何實現多客戶端和伺服器通訊 ?
2樓:匿名使用者
伺服器端:
namespace socketserver
成功", serversocket.localendpoint.tostring());
//通過clientsoket傳送資料
thread mythread = new thread(listenclientconnect);
mythread.start();
console.readline();
}///
/// 監聽客戶端連線
///private static void listenclientconnect()
}///
/// 接收訊息
//////private static void receivemessage(object clientsocket)
訊息", myclientsocket.remoteendpoint.tostring(), encoding.
ascii.getstring(result, 0, receivenumber));
}catch(exception ex)}}
}}客戶端:
namespace socketclient
catch
//通過clientsocket接收資料
int receivelength = clientsocket.receive(result);
console.writeline("接收伺服器訊息:",encoding.ascii.getstring(result,0,receivelength));
//通過 clientsocket 傳送資料
for (int i = 0; i < 10; i++)
" + sendmessage);
}catch
}console.writeline("傳送完畢,按回車鍵退出");
console.readline();}}}
3樓:匿名使用者
服務端要有客戶端列表,你服務端可能就一個客戶端物件,寫成陣列。
c#socket伺服器與客戶端程式之間通訊問題
4樓:癲ω倒
**已來閱。。
問題可能出現在button1_click方法 data = new byte[1024]這裡自
因為這個
bai變數是跨線du程呼叫的 執行緒中每zhi次receive呼叫前已經new了一個 並且阻dao塞呼叫
如果此時執行了button1_click 則下文receive後輸出的data已經是新new的 不是receive呼叫的那個了 所以當然顯示出來為空
解決方案:
不要亂new 你要知道new的時候發生了什麼 就不會出現這種錯誤了
5樓:匿名使用者
沒有**看,怎麼說都看不出**有問題
c#如何實現多個客戶端的通訊(同一個伺服器)
6樓:
客戶端之間的通訊有兩個辦法。
1. 伺服器中轉
2. 伺服器上註冊後,客戶端之間直接通訊。
對於第一種方法,大多比較簡單。查一下socket的文章,還有大把現成的**給你看。
第二個方法就稍微複雜一些。
但原理都一樣。客戶端a,連結伺服器後,地址資訊就儲存到了伺服器上。除了保持與伺服器的通訊外。另外開啟一個 socket,繫結到另一個埠,並且一直監聽此埠。
客戶端b連線伺服器,從伺服器上獲取客戶端a的地址資訊。把客戶端a當成伺服器,連線a。
7樓:匿名使用者
建立多個執行緒就ok了 為每一個連線 建立一個執行緒去處理
while (true)
8樓:匿名使用者
單純的多執行緒是不可能實現的 要用到socket
你到msdn或者網上一搜 結果一大堆 特別是msdn裡講的相當詳細
c# socket通訊問題:我寫的伺服器程式與本機的伺服器程式可以通訊,但與不同區域網的的服務端無法通訊
9樓:
肯定不會繼續執行的,你應該理解socket機制.
當你的服務
器端在listen後會主動accept客戶端訊息,他是處於阻塞狀態的.
這時專候,你再啟動客屬戶端進行connect到伺服器端,伺服器收到客戶端連線請求才會繼續執行下去.
通過recive/send方式傳送資料.
10樓:匿名使用者
連線外網時涉及到內網和外網的轉換,要把外網ip轉成內網ip才行。
c#socket實現客戶端之間通訊,不是與伺服器之間的通訊
11樓:匿名使用者
都可以的,socket可以實現2種通訊方式,一種是p2p也就是點對點,客戶端與客戶端之間的通回信。另一種就是現在qq這種,答客戶端連線到伺服器,再由伺服器**給制定使用者。你要實現這種方式,最好自己定義個類,傳送的時候,直接打包類傳送;然後接收的時候,資料直接套入類中,類得包括髮送給誰的標識和內容。
複雜點的還可包括其他內容,只要根據功能自己定義就行。
cwinform 如何實現客戶端和伺服器端
程式設計小旋風 客戶端做個winform專案 伺服器端就只安裝個資料庫,sql,oracle等 資料備份,操作員,許可權 都有其功能的。winform專案遠端連線伺服器端的資料庫不就好了。其實最好還是該用asp.net開發b s模式很適合你的要求。 袁吉航 這個很簡單,普通的資料庫操作就可以,只不過...
javasocket客戶端是如何向伺服器端傳送訊息的
伺服器端和客戶端都是通過socket來進行通訊的,首先產生一個 socket例項,通過這個例項,伺服器端呼叫accept這個方法接收來自客戶端傳送的資訊.但是在產生socket例項的時候必須初始化一個埠.用來負責接受客戶端的請求!客戶端要給伺服器傳送訊息也必須產生一個socket例項,初始化的時候必...
android客戶端和伺服器端怎麼互動
android客戶端和伺服器端是基於intentservice的,具體如下 後臺使用簡單的servlet,支援get或post。這個servlet最終返回給前臺一個字串flag,值是true或false,表示登入是否成功。然後在安卓的adt上建立一個安卓專案,建立兩個activity,分別作為登入介...