python实现聊天室功能

快过年了,我这颗躁动的心啊,根本集中不了精神来详细整理博客了,所以干脆直接贴上代码来,等年后我会详细介绍每一步实现方法。给代码加上详细注释的,大家见谅啊~~~

聊天室程序需求:

我们要实现的是简单的聊天室的例子,就是允许多个人同时一起聊天,每个人发送的消息所有人都能接收到,类似于 QQ 群的功能,而不是点对点的 QQ 好友之间的聊天。如下图:

这里写图片描述

这里我们首先要知道《python网络编程》知识,其中要明白什么是Socket以及如何使用Socket 实现不同主机间的通信。具体内容大家可以参考Python Socket网络编程

OK,我这里直接上TCP版本的server.py和client.py文件
运行时分别运行server.py和client.py文件即可,或者在编译器上直接运行,效果图在文章末尾。

server.py
# -*- encoding:utf-8 -*-
# socket.getaddrinfo(host,  port, family=0, socktype=0, proto=0, flags=0)
# 根据给定的参数host/port,相应的转换成一个包含用于创建socket对象的五元组,
# 参数host为域名,以字符串形式给出代表一个IPV4/IPV6地址或者None.
# 参数port如果字符串形式就代表一个服务名,比如“http”"ftp""email"等,或者为数字,或者为None
# 参数family为地主族,可以为AF_INET  ,AF_INET6 ,AF_UNIX.
# 参数socktype可以为SOCK_STREAM(TCP)或者SOCK_DGRAM(UDP)
# 参数proto通常为0可以直接忽略
# 参数flags为AI_*的组合,比如AI_NUMERICHOST,它会影响函数的返回值
# 附注:给参数host,port传递None时建立在C基础,通过传递NULL。
# 该函数返回一个五元组(family, socktype, proto, canonname, sockaddr),同时第五个参数sockaddr也是一个二元组(address, port)
# 更多的方法及链接请访问
# Echo server program

#socket - tcp - server.py(服务端):
from socket import *
import sys
import threading
from time import ctime
from time import localtime
import traceback
import time
import subprocess

reload(sys)
sys.setdefaultencoding("utf8")

HOST = '127.0.0.1'
PORT = 8555  # 设置侦听端口
BUFSIZ = 
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值