用python做毕业设计小程序_用Python写一个模拟qq聊天小程序的代码实例
Python 超简单的聊天程序
客户端:
import socket, sys
host = '10.248.27.23'
# host = raw_input("Plz imput destination IP:")
# data = raw_input("Plz imput what you want to submit:")
port = 51423
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
try:
s.connect((host, port))
except socket.gaierror, e:
print "Address-related error connecting to server: %s" %e
sys.exit(1)
except socket.error, e:
print "Connection error: %s" %e
sys.exit(1)
while 1:
try:
data = raw_input("I say: ")
s.send(data)
buf = s.recv(1024)
if len(buf):
print "he say: "+buf
except:
print "Dialogue Over"
s.close()
sys.exit(0)
服务器:
import socket, traceback, sys
host = ''
port = 51423
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.bind((host, port))
s.listen(1)
ClientSock, ClientAddr = s.accept()
while 1:
try:
buf = ClientSock.recv(1024)
if len(buf):
print "he say: "+buf
data = raw_input("I say: ")
ClientSock.sendall(data)
except:
print "Dialogue Over"
ClientSock.close()
sys.exit(0)
模拟qq聊天,语言环境:Python3
示例代码:
# 编写一个程序,模拟qq聊天
# 要求:程序可以同时发消息和收消息,发和收的过程中程序不退出
# 思路:使用socket来完成(socket 是全双工模式,可以实现收和发同时进行),定义俩个线程,一个负责发消息、一个负责收消息
from threading import Thread
from socket import *
def rec_data():
while True:
rec_info = udpsocket.recvfrom(1024)
print("\r>>%s:%s" % (rec_info[1], rec_info[0].decode("gb2312")))
print("<<", end="")
def send_date():
while True:
send_mes = input("<<")
udpsocket.sendto(send_mes.encode("gb2312"), (desip, desport))
udpsocket = None
desip = ""
desport = 0
def main():
global udpsocket
global desip
global desport
desip = input("对方IP:")
desport = int(input("对方端口:"))
udpsocket = socket(AF_INET, SOCK_DGRAM)
udpsocket.bind(("", 9001))
tr = Thread(target=rec_data)
ts = Thread(target=send_date)
tr.start()
ts.start()
tr.join()
ts.join()
if __name__ == '__main__':
main()
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接
用python做毕业设计小程序_用Python写一个模拟qq聊天小程序的代码实例相关推荐
- python软件代码示例-用Python写一个模拟qq聊天小程序的代码实例
Python 超简单的聊天程序 客户端: import socket, sys host = '10.248.27.23' # host = raw_input("Plz imput des ...
- 能不能用python开发qq_用Python写一个模拟qq聊天小程序的代码实例
用Python写一个模拟qq聊天小程序的代码实例 发布时间:2020-09-09 07:49:29
- 用Python写一个模拟qq聊天小程序的代码实例
前言 今天小编就为大家分享一篇关于用Python写一个模拟qq聊天小程序的代码实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧 Python 超简单的聊天 ...
- 如何利用python实现qq聊天_用Python写一个模拟qq聊天小程序的代码实例
Python 超简单的聊天程序 客户端: import socket, sys host = '10.248.27.23' # host = raw_input("Plz imput des ...
- cmd写java程序_用cmd写一个最简单的Java程序
一,准备: 1.确保电脑中装有eclipse软件并且确保配置好环境变量 (1)环境变量配置方法: 特别提示:jdk和eclipse保存的路径不能有中文字符 1.打开我的电脑--属性--高级--环境变量 ...
- 模拟QQ聊天小项目收尾---界面展示服务端与客户端进行信息交互(用到的知识:io,线程,Swing界面,面向对象思想...... )
大家好,我是一位在java学习圈中不愿意透露姓名并苟且偷生的小学员,如果文章有错误之处,还望海涵,欢迎多多指正 如果你从本文学到有用的干货知识,那么请您尽量点赞,关注,评论,收藏 这两天我一直在设计这 ...
- python做作业没头绪_使用Python做作业
python做作业没头绪 Applying OpenCV and Tesseract to do your math-homework 应用OpenCV和Tesseract进行数学作业 The pos ...
- python做审计底稿视频_最新Python教学视频,每天自学俩小时,让你offer拿到手软...
2020最新Python零基础到精通资料教材,干货分享,新基础Python教材,看这里,这里有你想要的所有资源哦,最强笔记,教你怎么入门提升!让你对自己更加有信心,重点是资料都是免费的,免费!!! 如 ...
- python做大数据分析入门_独家|Python数据分析入门指南 - 大数据123 | 大数据导航网...
有一个朋友最近问到这个问题,我觉得把它公开出来对其他人也会有帮助.这是给完全不了解Python而想找到从零到一的最简单的路径的人的建议: 1. 在这里(https://www.continuum.io ...
最新文章
- 集成支付宝钱包支付iOS SDK的方法与经验
- 促使网站关键词排名稳定的技巧有哪些?
- Zend Studio使用教程:使用PHPUnit检测代码(四)
- C# 遇到 which has a higher version than referenced assembly
- 从SAP Hybris下单,同步到S/4HANA,触发生产流程
- Ubuntu16.04下Mongodb官网安装部署步骤(图文详解)(博主推荐)
- java的debug模式_java第六章:debug模式介绍及大量实例练习
- .net面试题及答案(一)(转)
- html5 页面答题算分,JavaScript实现答题评分功能页面
- underscorejs-min学习
- 十六进制编辑器_Windows最佳免费十六进制编辑器
- unity3d游戏开发之简单的透明shader技能培训
- 手机越贵,打车越贵?复旦教授三万字打车报告,实锤打车软件“大数据杀熟”
- nc数据处理,掩膜,经纬度定位格点
- 2NE1 AON北京演唱会
- sshd远程主机间的访问
- 木子-数据库-oracle如何创建一个新的实例
- loT行业生死竞速:Aqara绿米得用户得天下
- 新Edge浏览器对比评测,微软找回面子全靠它了
- 常见生态问题成因及措施
热门文章
- Linux系统监控之磁盘I/O篇
- go语言实现第一个程序-hello,world!
- Visual Studio 2015 编译与使用Boost库进行文件与目录的操作
- 美化“关于本机”中Logo、机型、CPU等信息详细教程
- 4kyu N linear
- sql 执行顺序_10个简单步骤,完全理解SQL
- sql删除过程的命令是什么_今日份知识分享:SQL 介绍
- [Linux实用工具]munin-node插件配置和插件编写
- HAProxy负载平衡集群实例
- entity、model和domain三者区别