意義:
乙個使用者給另外乙個使用者傳送訊息,給每個使用者存到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...