1.開發環境
3.聊天室全部原始碼
4.使用說明
1.開發環境
3.聊天室全部原始碼
建立乙個目錄mytalk:mkdir mytalk
進入該目錄:cd mytalk
建立我們的伺服器python原始檔:touch main.py
建立存放html的目錄:mkdir myhtml
進入myhtml:cd myhtml
建立我們的html檔案:touch index.html
回到mytalk,下面是我使用tree命令檢視我們生成的結構:
/mytalk# tree
.├── main.py
└── myhtml
└── index.html
我們的原始碼檔案總共兩個乙個python指令碼main.py,乙個html檔案index.html。下面是我們的原始碼:
#filename:main.py
#this is the server source
import tornado.web
import tornado.ioloop
class
index
(tornado.web.requesthandler):
defget
(self):
self.render('myhtml/index.html')
import tornado.websocket
import json
class
sockethandler
(tornado.websocket.websockethandler):
clients=set()
class
sockethandler
(tornado.websocket.websockethandler):
clients=set()
@staticmethod
defsend_to_all
(message):
for c in sockethandler.clients:
c.write_message(json.dumps(message))
defopen
(self):
self.write_message(json.dumps())
sockethandler.send_to_all()
sockethandler.clients.add(self)
defon_close
(self):
sockethandler.clients.remove(self)
sockethandler.send_to_all()
defon_message
(self,message):
sockethandler.send_to_all()
if __name__=="__main__":
('/',index),
('/soc',sockethandler),
])tornado.ioloop.ioloop.instance().start()
上面使我們的server原始碼我們看到他用到了我們的:
def get(self):
self.render(『myhtml/index.html』)
這個就是我們的html檔案原始碼如下:index.html
var ws = new websocket('ws://localhost:8000/soc');
ws.onmessage=function
(event),
'user':function
(), }[data['type']])();
};script>
function
send
()script>
head>
body>
id='chat'>
onclick='send()'>sendbutton>
id='message'
border='1'>
table>4.使用說明
進入我們的原始碼目錄執行main.py:suso python main.py
此時我們的聊天伺服器就啟動了
開啟瀏覽器輸入:http://localhost:8000/
注:多開啟幾個瀏覽器頁面,這就是我們的瀏覽器客戶端會看到如下:
使用Pidgin實現本地區域網聊天和傳輸檔案
以前章郎蟲介紹過如何使用pidgin同時登入msn,yahoo,人人網,facebook,gtalk等聊天賬號,可能很多還不是很清楚。今天我又發現pidgin的另乙個強大功能,使用pidgin實現區域網聊天和傳輸檔案,而且不一定需要聯網。安裝pidgin 新增帳號 安裝啟動程式後系統會預設提示你新建...
使用tornado實現使用者認證
關於使用者的登入狀態,一部分的應用程式是採用session實現的。http是乙個無狀態協議,使用者的每次請求都是相互獨立的,http本身意識不到使用者是否登入。很多web框架選擇將session存放在cookies中,本節我們也是這樣實現 import tornado.ioloop import t...
使用NIO實現多人聊天
基於nio實現多人模擬聊天視窗,首先要了解,nio元件,serversocketchannel socketchannel selector selectorkey。了解了他們各自作用以及關係,多人聊天系統很容易理解實現,這裡不在介紹,自行了解 初始化服務端servesocketchannel 連線...