先弄清一下流程吧:
1>定義遠端物件(繼承自marshalbyrefobject)
2>建立乙個server端作為宿主(註冊通道、註冊遠端物件)
3>建立客戶端(註冊通道、通過url獲取server端的遠端物件的**、通過**操作遠端物件)
伺服器ip:10.10.1.35 埠號:8090
具體操作**:
1.建立乙個操作具體的專案remotingmodel
namespace remotingmodel}}2.新增乙個伺服器端專案remotingserver:這個專案在伺服器端10.10.1.35機器上
1>新增引用system.runtime.remoting和remotingmodel專案
2>新增如下**:
using system.runtime.remoting;using system.runtime.remoting.channels;
using system.runtime.remoting.channels.tcp;
using remotingmodel;
static void main(string args)3.新增乙個客戶端專案remotingclient:這個專案在客戶端機器上
同樣新增那兩引用
using system.runtime.remoting;注意:如果客戶端和伺服器端channelservices.registerchannel(channel, true);這裡是true的時候會報錯:using system.runtime.remoting.channels;
using system.runtime.remoting.channels.tcp;
using remotingmodel;
namespace remotingclient
private talker _talker = null;
private void button1_click(object sender, eventargs e)
private void form1_load(object sender, eventargs e)}}
如果埠號寫的不一致就會出現如下錯誤:
當然如果客戶端和伺服器端都在本機上執行的時候這裡的true也可以的。
生成之後你直接在伺服器端和客戶端下開啟bin>debug>資料夾下的.exe就可以實現效果了。
這樣的話就ok了你在本機上發的訊息馬上就能在伺服器10.10.1.35上看到訊息了。
Remoting實現分布式應用簡單例項
廢話不多說,直接上例子 先上乙個自己寫的乙個用remoting實現的分布式應用小例子 這裡面沒有考慮通道加密等等的什麼高技術,只是基礎 本例子有 乙個解決方案 remotesampleproject 4個專案分別是 格式說明 專案名稱 專案型別 輸出型別 具體 iremotesample 介面 類庫...
java分布式開發,什麼是分布式開發
就是同乙個服務,把資料庫的不同部分分開建立到不同的伺服器上。以緩解資料庫大量資料訪問的壓力。很多大公司的業務量比較大,每天的訪問量都達到幾百萬上千萬,甚至上億的訪問量,在訪問量不是很大的情況下,是可以通過提高單台伺服器的配置來滿足需求的。但是當單臺伺服器已經滿足不了需求的時候就需要做分布式處理了。畢...
分布式 分布式鎖
本質是利用redis的setnx 方法的特性來加鎖,setnx 即key不存在則設定key,否則直接返回false,要求在分布式系統中使用同乙個redis服務,以下提供兩種解決方案 1 直接使用redistemplate 這其實並不能完全保證高併發下的安全問題,因為可能在鎖過期之後該執行緒尚未執行完...