最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

用Python寫一個(gè)模擬qq聊天小程序的代碼實(shí)例

 更新時(shí)間:2019年03月06日 16:26:51   作者:wdz306ling  
今天小編就為大家分享一篇關(guān)于用Python寫一個(gè)模擬qq聊天小程序的代碼實(shí)例,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧

Python 超簡(jiǎn)單的聊天程序

客戶端:

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)

服務(wù)器:

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聊天,語言環(huán)境:Python3

示例代碼:

# 編寫一個(gè)程序,模擬qq聊天
# 要求:程序可以同時(shí)發(fā)消息和收消息,發(fā)和收的過程中程序不退出
# 思路:使用socket來完成(socket 是全雙工模式,可以實(shí)現(xiàn)收和發(fā)同時(shí)進(jìn)行),定義倆個(gè)線程,一個(gè)負(fù)責(zé)發(fā)消息、一個(gè)負(fù)責(zé)收消息
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("對(duì)方IP:")
  desport = int(input("對(duì)方端口:"))
  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()

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

  • 關(guān)于DataFrame數(shù)據(jù)的查詢和編輯

    關(guān)于DataFrame數(shù)據(jù)的查詢和編輯

    在使用pandas處理DataFrame時(shí),可通過列索引標(biāo)簽獲取列數(shù)據(jù),行數(shù)據(jù)的獲取可以利用行索引或位置切片,如iloc和loc方法,增加數(shù)據(jù)時(shí),可通過append方法增加行,直接賦值增加列,刪除數(shù)據(jù)則通過drop方法,通過設(shè)置axis參數(shù)確定是刪除行還是列
    2024-09-09
  • Python編程之字符串模板(Template)用法實(shí)例分析

    Python編程之字符串模板(Template)用法實(shí)例分析

    這篇文章主要介紹了Python編程之字符串模板(Template)用法,結(jié)合具體實(shí)例形式分析了Python字符串模板的功能、定義與使用方法,需要的朋友可以參考下
    2017-07-07
  • 剖析Python的Tornado框架中session支持的實(shí)現(xiàn)代碼

    剖析Python的Tornado框架中session支持的實(shí)現(xiàn)代碼

    這篇文章主要介紹了剖析Python的Tornado框架中session支持的實(shí)現(xiàn)代碼,這樣就可以使用Django等框架中大家所熟悉的session了,需要的朋友可以參考下
    2015-08-08
  • Python實(shí)戰(zhàn)小游戲飛機(jī)大戰(zhàn)詳解

    Python實(shí)戰(zhàn)小游戲飛機(jī)大戰(zhàn)詳解

    飛機(jī)大戰(zhàn)想必是很多人童年時(shí)期的經(jīng)典游戲,我們依舊能記得抱個(gè)老人機(jī)娛樂的場(chǎng)景,下面這篇文章主要給大家介紹了關(guān)于如何利用python寫一個(gè)簡(jiǎn)單的飛機(jī)大戰(zhàn)小游戲的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • 基于Django?drf框架序列化視圖

    基于Django?drf框架序列化視圖

    這篇文章主要為大家介紹了基于Django?drf框架序列化視圖,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • pycharm 使用心得(二)設(shè)置字體大小

    pycharm 使用心得(二)設(shè)置字體大小

    pycharm 是很好的一個(gè)IDE,在windows下,和macOS下,都能很好的運(yùn)行。唯一缺點(diǎn)是啟動(dòng)慢。默認(rèn)字體太小,在mac下,需要瞪大24K氪金狗眼才能看清。 為了保護(hù)好眼睛,我們需要把字體調(diào)整大一些:
    2014-06-06
  • 如何用Python中19行代碼把照片寫入到Excel中

    如何用Python中19行代碼把照片寫入到Excel中

    這篇文章主要介紹了如何利用Python3中的19行代碼把照片寫入到Excel中,文章內(nèi)容實(shí)現(xiàn)的不是截取一張圖片,粘貼到excel,而是通過像素寫入到excel中,需要的朋友可以參考一下
    2022-02-02
  • python3獲取兩個(gè)日期之間所有日期,以及比較大小的實(shí)例

    python3獲取兩個(gè)日期之間所有日期,以及比較大小的實(shí)例

    下面小編就為大家分享一篇python3獲取兩個(gè)日期之間所有日期,以及比較大小的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • django一對(duì)多模型以及如何在前端實(shí)現(xiàn)詳解

    django一對(duì)多模型以及如何在前端實(shí)現(xiàn)詳解

    這篇文章主要介紹了django一對(duì)多模型以及如何在前端實(shí)現(xiàn)詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Python實(shí)現(xiàn)類的創(chuàng)建與使用方法示例

    Python實(shí)現(xiàn)類的創(chuàng)建與使用方法示例

    這篇文章主要介紹了Python實(shí)現(xiàn)類的創(chuàng)建與使用方法,結(jié)合簡(jiǎn)單計(jì)算器功能實(shí)例分析了Python類的定義與使用方法,需要的朋友可以參考下
    2017-07-07

最新評(píng)論

大英县| 平潭县| 丰都县| 贺州市| 宁陵县| 麦盖提县| 丹寨县| 巴林左旗| 瑞金市| 梨树县| 肃宁县| 汉中市| 南川市| 高邮市| 方城县| 浙江省| 博兴县| 保山市| 金湖县| 武胜县| 屏东市| 阳朔县| 泸西县| 尼木县| 称多县| 南平市| 万山特区| 赣州市| 昌邑市| 东乌| 莫力| 康乐县| 高淳县| 深州市| 丰镇市| 仙桃市| 汶川县| 谷城县| 扬州市| 图片| 尉犁县|