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聊天小程序的代码实例相关推荐

  1. python软件代码示例-用Python写一个模拟qq聊天小程序的代码实例

    Python 超简单的聊天程序 客户端: import socket, sys host = '10.248.27.23' # host = raw_input("Plz imput des ...

  2. 能不能用python开发qq_用Python写一个模拟qq聊天小程序的代码实例

    用Python写一个模拟qq聊天小程序的代码实例 发布时间:2020-09-09 07:49:29

  3. 用Python写一个模拟qq聊天小程序的代码实例

    前言 今天小编就为大家分享一篇关于用Python写一个模拟qq聊天小程序的代码实例,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧 Python 超简单的聊天 ...

  4. 如何利用python实现qq聊天_用Python写一个模拟qq聊天小程序的代码实例

    Python 超简单的聊天程序 客户端: import socket, sys host = '10.248.27.23' # host = raw_input("Plz imput des ...

  5. cmd写java程序_用cmd写一个最简单的Java程序

    一,准备: 1.确保电脑中装有eclipse软件并且确保配置好环境变量 (1)环境变量配置方法: 特别提示:jdk和eclipse保存的路径不能有中文字符 1.打开我的电脑--属性--高级--环境变量 ...

  6. 模拟QQ聊天小项目收尾---界面展示服务端与客户端进行信息交互(用到的知识:io,线程,Swing界面,面向对象思想...... )

    大家好,我是一位在java学习圈中不愿意透露姓名并苟且偷生的小学员,如果文章有错误之处,还望海涵,欢迎多多指正 如果你从本文学到有用的干货知识,那么请您尽量点赞,关注,评论,收藏 这两天我一直在设计这 ...

  7. python做作业没头绪_使用Python做作业

    python做作业没头绪 Applying OpenCV and Tesseract to do your math-homework 应用OpenCV和Tesseract进行数学作业 The pos ...

  8. python做审计底稿视频_最新Python教学视频,每天自学俩小时,让你offer拿到手软...

    2020最新Python零基础到精通资料教材,干货分享,新基础Python教材,看这里,这里有你想要的所有资源哦,最强笔记,教你怎么入门提升!让你对自己更加有信心,重点是资料都是免费的,免费!!! 如 ...

  9. python做大数据分析入门_独家|Python数据分析入门指南 - 大数据123 | 大数据导航网...

    有一个朋友最近问到这个问题,我觉得把它公开出来对其他人也会有帮助.这是给完全不了解Python而想找到从零到一的最简单的路径的人的建议: 1. 在这里(https://www.continuum.io ...

最新文章

  1. 集成支付宝钱包支付iOS SDK的方法与经验
  2. 促使网站关键词排名稳定的技巧有哪些?
  3. Zend Studio使用教程:使用PHPUnit检测代码(四)
  4. C# 遇到 which has a higher version than referenced assembly
  5. 从SAP Hybris下单,同步到S/4HANA,触发生产流程
  6. Ubuntu16.04下Mongodb官网安装部署步骤(图文详解)(博主推荐)
  7. java的debug模式_java第六章:debug模式介绍及大量实例练习
  8. .net面试题及答案(一)(转)
  9. html5 页面答题算分,JavaScript实现答题评分功能页面
  10. underscorejs-min学习
  11. 十六进制编辑器_Windows最佳免费十六进制编辑器
  12. unity3d游戏开发之简单的透明shader技能培训
  13. 手机越贵,打车越贵?复旦教授三万字打车报告,实锤打车软件“大数据杀熟”
  14. nc数据处理,掩膜,经纬度定位格点
  15. 2NE1 AON北京演唱会
  16. sshd远程主机间的访问
  17. 木子-数据库-oracle如何创建一个新的实例
  18. loT行业生死竞速:Aqara绿米得用户得天下
  19. 新Edge浏览器对比评测,微软找回面子全靠它了
  20. 常见生态问题成因及措施

热门文章

  1. Linux系统监控之磁盘I/O篇
  2. go语言实现第一个程序-hello,world!
  3. Visual Studio 2015 编译与使用Boost库进行文件与目录的操作
  4. 美化“关于本机”中Logo、机型、CPU等信息详细教程
  5. 4kyu N linear
  6. sql 执行顺序_10个简单步骤,完全理解SQL
  7. sql删除过程的命令是什么_今日份知识分享:SQL 介绍
  8. [Linux实用工具]munin-node插件配置和插件编写
  9. HAProxy负载平衡集群实例
  10. entity、model和domain三者区别