利用SignalR實現聊天室(實戰篇)

2022-07-11 15:12:14 字數 2533 閱讀 2286

簡易單網頁聊天室:

1.新增signalr外掛程式包:

2.在專案下建立資料夾:myhub

且建立類:myhub

1 [hubname("

myhub")]

2public

class

myhub : hub320

21public

myhub(broadcaster broadcaster)

2226

public

void send(string

msg)

2731

//客戶端連線上時,會進入到此方法中

32public

override

task onconnected()

3337

3839

public

override

task onreconnected()

4044

45public

override task ondisconnected(bool

stopcalled)

4649

public

void sendlogin(string

name)

5061

else

6268 userinfo.userlist =userlist;

69//

新使用者上線,伺服器廣播該使用者名稱

7071

7273}74

75private random random = new

random();

7677

///78

///被動收發訊息

79///

80///

訊息發起者

81///

訊息接收者

82public

void sendbygroup(string name1, string name2, string

msg)

8395}96

9798

///99

///資料廣播器

100///

101public

class

broadcaster

102122

123124

private random random = new

random();

125126

127private

void broadcastshape(object

state)

128141

142143

144145

if (!connects._connections.containskey("

wdd3

"))//

不存在146

149else

//存在

150153 _hubcontext. clients.all.sendmessage("

當前隨機數:

"+random.next(1000

).tostring());

154155

//_hubcontext.clients.all(random.next(1000).tostring());

156}

157public

static

broadcaster instance

158163

}164 }

view code

1

public

static

class

connects25

public

static

class

userinfo

6

view code

1

"test

">這裡即將顯示伺服器推送的資料2"

test1

">這裡即將顯示伺服器推送的資料3"

test2

">這裡即將顯示伺服器推送的資料4"

hidden

" id="

displayname

" />

5傳送人姓名"

text

" style="

width:200px

" id="

sendusername

" />

6傳送內容:"

text

" style="

width:200px;height:100px

" id="

msgcontent

" />7"

send

" type="

button

" value="

傳送" />

891011

view code

SignalR學習筆記(一) 簡單聊天室

asp.net signalr是乙個方便程式設計師新增實時網路通訊功能的類庫。所謂的實時網路通訊功能 real time web functionality 就是需要伺服器主動推送資料到使用者客戶端,而非伺服器等待使用者客戶端請求資料的功能。以聊天室為例,當乙個使用者傳送 訊息之後,在所有使用者的聊...

php html實現聊天室

1.最簡單的方式 不斷重新整理頁面 資料庫建立 create table chat chattime datetime,nick char 10 words char 150 login.php 請輸入您的暱稱 cdisplay.php conn mysql connect 127.0.0.1 ro...

php websocket搭建簡易聊天室實踐

1 前言 公司遊戲裡面有個簡單的聊天室,了解了之後才知道是node websocket做的,想想php也來做個簡單的聊天室。於是蒐集各種資料看文件 找例項自己也寫了個簡單的聊天室。http連線分為短連線和長連線。短連線一般可以用ajax實現,長連線就是websocket。短連線實現起來比較簡單,但是...