国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

用Python寫一個模擬qq聊天小程序的代碼實例

2020-01-04 13:35:27
字體:
來源:轉載
供稿:網友

Python 超簡單的聊天程序

客戶端:

import socket, syshost = '10.248.27.23'# host = raw_input("Plz imput destination IP:")# data = raw_input("Plz imput what you want to submit:")port = 51423s = 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, syshost = ''port = 51423s = 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 Threadfrom 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 = Nonedesip = ""desport = 0def 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()

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VEVB武林網的支持。如果你想了解更多相關內容請查看下面相關鏈接


注:相關教程知識閱讀請移步到python教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 五常市| 天峨县| 明水县| 康平县| 谷城县| 高尔夫| 公主岭市| 常山县| 富锦市| 卓尼县| 浙江省| 台州市| 肇东市| 瓮安县| 平塘县| 平和县| 建湖县| 共和县| 龙泉市| 东海县| 伊川县| 互助| 双柏县| 台安县| 保定市| 嘉荫县| 仁化县| 济南市| 望城县| 全椒县| 甘南县| 安达市| 麦盖提县| 图片| 白河县| 龙里县| 区。| 永顺县| 邵阳市| 铅山县| 阜南县|