gpt4 book ai didi

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

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 24 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章用Python写一个模拟qq聊天小程序的代码实例由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

Python 超简单的聊天程序 。

客户端

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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 )

服务器

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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 。

示例代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# 编写一个程序,模拟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()

总结 。

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对我的支持。如果你想了解更多相关内容请查看下面相关链接 。

原文链接:https://blog.csdn.net/wdz306ling/article/details/86623436 。

最后此篇关于用Python写一个模拟qq聊天小程序的代码实例的文章就讲到这里了,如果你想了解更多关于用Python写一个模拟qq聊天小程序的代码实例的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com