orleans傳送廣播訊息

2021-09-07 14:32:03 字數 1331 閱讀 5197

乙個client傳送訊息給orleans, 就只需要掉用grain的函式就行了. 但是有時候grain需要傳送訊息給client, 在orleans裡面, 就只能通過observer來實現.

1

public

inte***ce

ichat : igrainobserver25

6public

class

chat : ichat712

}1314class

hellograin : grain, ihello

1522

public

async

task subscribe(ichat observer)

2326

public

async

task unsubscribe(ichat observer)

2730}31

32public task sendupdatemessage(string

message)

3337

38//

下面就是grain傳送訊息給client的**

39var friend = grainclient.grainfactory.getgrain(0

);40 chat c = new

chat();

4142

var obj = await grainclient.grainfactory.createobjectreference(c);

43await friend.subscribe(obj);

有了上面的**, 我們就可以按照自己的需求造乙個廣播出來.

1

enum

desttype27

8//這是我們的觀察者

9public

inte***ce

igatewayobserver : igrainobserver

1013

14public

inte***ce

iallgatewaygrain : igrainwithintegerkey

1526

27public

inte***ce

igatewaygrain : igrainwithstringkey

28

上面是介面的設計, 然後只需要在client啟動的時候, 把自己註冊到兩個grain裡面去, 然後其他的grain就可以通過兩個grain來傳送針對所有人,伺服器, 和個人的訊息了.

傳送廣播訊息BroadcastRecevice

broadcastrecevice的介面設計,拖選乙個textview和兩個buttonackage com.example.broadcastreceviewerdemo import android.os.bundle import android.content.intent import a...

udp傳送廣播訊息

import socket if name main 建立udpsocket udp socket socket.socket socket.af inet,socket.sock dgram 設定socket選項,開啟傳送廣播訊息的功能 1.sol socket 當前socket 2.so bro...

C 利用UdpClient傳送廣播訊息

首先寫個接受訊息的客戶端。這裡偷了點懶,new udpclient 11000 就是用udp方式偵聽11000埠,偵聽任何傳送到11000埠的訊息都會接收到。udpclient udpclient new udpclient 11000 try ipendpoint remoteipendpoint...