基于python socket 实现的聊天室

基于python socket 实现的聊天室 聊天室 聊天室用 python socket 实现,socket 分为客户端和服务端 服务端使用 server_socket 监听请求

本文包含相关资料包-----> 点击直达获取<-------

基于python socket 实现的聊天室

聊天室

聊天室用 python socket 实现,socket 分为客户端和服务端

服务端使用 server_socket 监听请求,接收到客户端的连接请求时,就创建一个新的套接字与之配对,并用 server_socket 继续监听新的连接

客户端建立一个套接字 conn 发送连接请求,连接成功后使用 conn 直接与服务端通信

异步处理使用 select 模块,select 使用轮询机制。select 轮流检查列表中的套接字,套接字是一一对应的,如果远端有信息发送,那么对应的套接字就被加入到 read_sockets

服务端维护套接字列表 server_socket, client1, client2 ... , server_socket 是监听套接字,client1 与对应的客户端相连

如果 server_socket 收到消息,表示这是一个新的连接。如果 client1 收到消息,表示与之相连的客户端有信息发送,如果没有信息发送,则认为对方已经掉线(socket 在一方掉线后,对方会收到响应)。

客户端维护套接字列表 stdin, s ,stdin 是标准输入,s 与服务端相连

如果 stdin 收到消息,表示客户端需要发送消息,如果 s 收到消息,表示接收到了服务端发来的消息

1545143414488

1545143433234

1545143451421

爬虫

爬虫使用 python 的 scrapy 框架

从 CSDN 的一篇文章出发,爬取页面中的博客用户名,访问量,博主积分和全网排名,并继续追踪推荐栏中的文章

```python from scrapy.spiders import Spider

class FirstSpider(Spider): name = "first" start_urls = ["https://blog.csdn.net/wbsrv/article/details/77131279"]

def parse(self, response):
    name = response.css("p.name.csdn-tracking-statistics.tracking-click a#uid::text").extract()[0].strip()
    box = response.css("div.grade-box.clearfix dd::text").extract()
    nVisit = box[2].strip()
    nGoal = box[3].strip()
    nRank = box[4].strip()
    print("name: {}\n  nVisit: {}\n  nGoal: {}\n  nRank: {}".format(name, nVisit, nGoal, nRank))

    for next_page in response.css("div.recommend-item-box.recommend-box-ident.type_blog.clearfix div a::attr(href)").extract():
        yield response.follow(next_page, self.parse)

```

1545144029604

参考文献

  • 基于J2EE技术ACM竞赛程序在线评测系统的设计与实现(厦门大学·赵春风)
  • “Things-Cloud-People”:一个“Web of Things”实现方案(华东师范大学·汤承刚)
  • 企业内部即时通讯系统的设计与实现(内蒙古大学·王慧平)
  • 基于B/S架构的酷跑社区系统的设计与实现(内蒙古大学·张晓乐)
  • 企业级即时通讯系统设计与实现(华南理工大学·余春贵)
  • 基于SSH架构的个人空间交友网站的设计与实现(北京邮电大学·隋昕航)
  • 基于B/S架构的酷跑社区系统的设计与实现(内蒙古大学·张晓乐)
  • 企业内部即时通讯系统的设计与实现(内蒙古大学·王慧平)
  • 基于Node.js和WebSocket的即时通信系统的设计与实现(南京邮电大学·茆玉庭)
  • 基于Node.js和WebSocket的即时通信系统的设计与实现(南京邮电大学·茆玉庭)
  • 公司管理中BBS信息系统的设计与实现(电子科技大学·赵正刚)
  • 企业级即时通讯系统设计与实现(华南理工大学·余春贵)
  • 基于JavaEE的实时信息交流平台的设计和实现(电子科技大学·李剑)
  • 面向企业管理平台会话系统后端的设计与实现(南京大学·顾必成)
  • 基于JMF的视频聊天系统的开发与实现(华南理工大学·李世勇)

本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:代码货栈 ,原文地址:https://m.bishedaima.com/yuanma/36176.html

相关推荐

发表回复

登录后才能评论