Python網絡編程—第27課—Socket實例(0531)

1、建立套接字示例(服務端)socket

import socket   #導入模塊
import time     #導入模塊

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)   #建立TCP套接字
address = ('127.0.0.1', 8888)
s.bind(address)      #爲TCP套接字綁定IP及端口
s.listen(10)         #啓動TCP監聽,同時接受10個socket鏈接。
print("start server!")
while 1:
    try:
        conn, addr = s.accept()  #設置爲:被動接收TCP客戶端鏈接
        if conn:
            print("recv client from {0}".format(addr))  #打印接收到的客戶端IP、端口
            while 1:
                data = conn.recv(2048)   #指定鏈接最大接受的數據量爲 2048
                print("recv data: {0}".format(data.decode('utf-8')))  #打印接收到的數據
                conn.sendall(data.decode('utf-8').upper().encode('utf-8'))  #發送完整的TCP消息
        else:
            time.sleep(5)   #暫定5秒
    except Exception as e:
        conn.close()        #關閉鏈接

2、建立套接字示例(客戶端)code

import socket

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
address = ('127.0.0.1', 8888)
s.connect(address)
flage = 1
print("start client!")
while flage:
    word = input("word: ")
    if word == "exit":
        flage = 0
    s.sendall(word.encode('utf-8'))
    data = s.recv(2048)
    print("RECV: {0}".format(data.decode('utf-8')))

s.close()
相關文章
相關標籤/搜索