日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

python網(wǎng)絡(luò)編程之多線程同時接受和發(fā)送

系統(tǒng) 2107 0

本文實例為大家分享了python多線程同時接受和發(fā)的具體代碼,供大家參考,具體內(nèi)容如下

            
'''
模仿qq 同時可以發(fā)送信息和接受信息多線程
'''


from socket import *
from time import sleep
import threading

# 負責接收數(shù)據(jù)
def recvData():
  udpRecvSocket = socket(AF_INET,SOCK_DGRAM)
  # 默認使用8080端口
  myRecvPort = 8080
  bindAddr = ('',8080)
  #try為了防止端口被占用 如果被占用有一次的修改機會 反正系統(tǒng)就被崩潰
  try:
    #綁定地址
    udpRecvSocket.bind(bindAddr)
  #端口被占用后的修改
  except OSError:
    myRecvPort = int(input("請輸入本機接受端口端口:"))
    bindAddr = ('',myRecvPort)
    udpRecvSocket.bind(bindAddr)
  #socket模塊中自帶的方法 用來獲取用戶名和ip地址
  myIpAddr = gethostbyname(getfqdn(gethostname()))
  #打印本機ip地址和所用的端口
  print("本機ip地址為[{}],接受數(shù)據(jù)的端口為[{}]".format(myIpAddr,myRecvPort))

  #防止受到的消息部分丟失而引發(fā)的異常問題
  while True:
    try:
      recvData = udpRecvSocket.recvfrom(1024) #最大字節(jié)數(shù)為1024
      #recvData = recvData.decode('GB2312')
      print('對方電腦輸出的內(nèi)容是:{}'.format(recvData))
    except error as e:
      print(e)


#負責發(fā)送數(shù)據(jù)
def sendData():
  #防止和上文同時輸入產(chǎn)生風險 所以發(fā)送數(shù)據(jù)暫停10秒后再運行
  sleep(10)
  udpSendSocket = socket(AF_INET,SOCK_DGRAM)
  #用戶輸入接受方信息并存儲在 sendAddr 中
  sendIpAddr = input('請輸入接受方的ip地址:')
  sendPort = int(input('請輸入接受方的端口:'))
  sendAddr = (sendIpAddr,sendPort)


  while True:
    sendData = input('請輸入要發(fā)送的內(nèi)容:')
    udpSendSocket.sendto(sendData.encode(),sendAddr)


#負責多線程
def main():
  #多線程同時運行兩個方法
  t1 = threading.Thread(target=recvData)
  t2 = threading.Thread(target=sendData)
  t1.start()
  t2.start()
  t1.join()
  t2.jion()


if __name__ == '__main__':
  main()
          

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 定西市| 临湘市| 贺州市| 麟游县| 陈巴尔虎旗| 凯里市| 孟连| 黄平县| 漯河市| 嵊泗县| 土默特右旗| 慈利县| 岢岚县| 靖边县| 沾化县| 苏尼特右旗| 江北区| 屏山县| 泰兴市| 贵定县| 建宁县| 湘西| 临漳县| 昌乐县| 青川县| 武山县| 武清区| 葫芦岛市| 阳朔县| 柳江县| 宾阳县| 磐安县| 延寿县| 溧阳市| 华安县| 广平县| 柳州市| 买车| 大关县| 托克托县| 大新县|