Python之字元介面QQ

來源:互聯網
上載者:User

標籤:

server side:

# coding: gb2312
#socket server端
#擷取socket構造及常量
from socket import *
#‘‘代表格服務器為localhost
myHost = ‘‘
#在一個非保留連接埠號碼上進行監聽
myPort = 50007

#設定一個TCP socket對象
sockobj = socket(AF_INET, SOCK_STREAM)
#綁定它至連接埠號碼
sockobj.bind((myHost, myPort))
#監聽,允許5個連結
sockobj.listen(5)

#直到進程結束時才結束迴圈
while True:
    #等待下一個用戶端連結
    connection, address = sockobj.accept( )
    #連結是一個新的socket
    print ‘Server connected by‘, address
    while True:
        #讀取用戶端通訊端的下一行
        data = connection.recv(1024)
        
        print "對方回複:", data
        
        #如果沒有資料的話,那麼跳出迴圈
        message = raw_input("QQ聊天:")
        connection.send(message)
    #當socket關閉時eof
    connection.close( )

client side:

# coding: gb2312
import sys
from socket import *
serverHost = ‘192.168.159.3‘
serverPort = 50007

#發送至服務端的預設文本
message = [‘Hello‘]
#如果參數大於1的話,連結的服務端為第一個參數
if len(sys.argv) > 1:
    serverHost = sys.argv[1]
    #如果參數大於2的話,連結的文字為第二個參數
    if len(sys.argv) > 2:
        message = sys.argv[2:]

#建立一個tcp/ip通訊端對象
sockobj = socket(AF_INET, SOCK_STREAM)
#連結至伺服器及連接埠
sockobj.connect((serverHost, serverPort))

while True:
    message = raw_input("QQ聊天:")
    sockobj.send(message)
    #從服務端接收到的資料,上限為1k
    data = sockobj.recv(1024)
    #確認他是引用的,是‘x‘
    print ‘對方回複:‘, repr(data)
#關閉通訊端
sockobj.close( )

Python之字元介面QQ

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.