點對點通訊

2021-10-06 18:22:50 字數 1889 閱讀 5711

意義:

乙個使用者給另外乙個使用者傳送訊息,給每個使用者存到dict中,username作為key,self作為value(這裡使用的是假username,vue中傳送的也是死資料,只是為了演示效果)

實現:

from channels.generic.websocket import websocketconsumer

import json

alist =

adic =

num =

1class

chatservice

(websocketconsumer)

:# 當websocket建立連線時

defconnect

(self)

:global num

self.accept(

)# 保持連線!必須寫這步

adic[num]

= self

num +=

1# 當websocket接收到訊息時

defreceive

(self, text_data=

none

, bytes_data=

none):

data = json.loads(text_data)

print

(data)

to_user = data.get(

"to_user"

) message = data.get(

"message"

)print

(adic)

ws = adic.get(to_user)

ws.send(message)

# 當websocket發生斷開連線時

defdisconnect

(self, code)

:print

('斷開連線啦'

)

="hello"

>

<

input

type

="text" v-model=

"message"

>

<

input

type

="button" @click=

"send" value=

"傳送"

>

<

/p>

<

input

type

="button" @click=

"close_socket" value=

"關閉"

>

<

/p>

<

/div>

<

/template>

export default },

methods:

this.testsocket.send(json.stringify(data)

) this.testsocket.onmessage =

(res)

=>},

close_socket()}

, mounted(

) this.testsocket.onmessage = function(res)

// this.testsocket.onclose = function()}

}<

/script>

- add "scoped" attribute to limit css to this component only -

->

<

/style>

1.連線客戶端

2.傳送訊息

3.接受訊息

客戶端username為2的接受到訊息

TinyOS 點對點通訊

1.1.2 amsenderc元件介面 packet 1.2 元件 amreceiverc 1.3 activemessagec 二 原始碼分析 虛擬化的活動訊息傳送抽象。amsenderc的每個例項都有其自己的深度為1的佇列。因此,它不必與佇列空間的其他amsenderc例項競爭。基礎實現使用某種...

組通訊與點對點通訊

通訊子 communicator 是指一組可以相互傳送訊息的程序集合。集合通訊 collective communication 也叫組通訊,是指設計通訊子中所有程序的通訊函式。點對點通訊 point to point communication 函式對 兩個函式 之間的通訊。集合通訊和點對點通訊的...

用Visual Basic實現點對點通訊

使用tcp協議時,如果需要建立乙個客戶應用程式,就必須識別伺服器的名稱或ip位址。應用程式的通訊埠隨時都將仔細監測對方發出的訊息,這是系統進行可靠連線的保證。一旦連線發生,任何一方都可以通過senddata傳送和接收資料,並借助getdata把自己的資料分離出來。傳送資料時,需要先設定客戶機的loc...