Socket.IO 聊天

由于刚在看Load Balancer, 感觉实现一个似乎不是特别难,打算先回顾一下socket.io python的implementation。 然后有机会实现一下Load Balancer.

第一个是client.py

sock.recvfrom(1024) 这个function 特别重要。 客户端和服务器交流必须的函数。

Socket.IO 聊天_第1张图片

第二个是server.py

这个文件就是设置服务器listen to "127.0.0.1" Port: 5000。

while not quitting: 基本上就是你只要不人为输入"Quit", 这个服务器会一直listen着。

data, addr= s.recvfrom(1024)  因为我们不光要知道说了什么,还要知道谁说的。

客户端的address 必须要加入clients list里面。 python给了我们recvfrom这么一个牛逼的东西可以获取试图访问port的method。

还有一个几乎是最重要的就是信息共享:

for client in clients:

      s.sendto(data, client)

Socket.IO 聊天_第2张图片



稍微温习一下觉得。恩, Load Balancer 不应该是为real time local chat服务的。因为你不同服务器,如果不跟database有联系的话,是没有办法看到同样的信息的。这个麻烦就大了。所以,做一个simple Load Balancer的话, 应该是把用户调用到server后,发一个print("write to Database") 假装是连着数据库就可以了

load balancer这个function 肯定不能定义在server side, 应该是属于一个client 和 server中间的媒介。可以创造一个新的file。


2个小时后终于把load balancer做完了。其实就是做一个DNS server来handle request from clients 就好。

你可能感兴趣的:(Socket.IO 聊天)