python socket 客服端服務端編程

  客服端編程編程

import socket

try:
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
except socket.error as msg:
    print(msg)
    exit()

print('socket created')

try:
    ip = socket.gethostbyname('www.baidu.com')
except socket.gaierror as msg:
    print(msg)
    exit()

print('host = ', ip)

s.connect((ip, 80))
print('socket鏈接成功')

try:
    msg = bytes("GET / HTTP/1.1\r\n\r\n", encoding='utf-8')
    s.sendall(msg)
except socket.error:
    print('發送數據失敗')
    exit()

print('發送數據成功')

while True:
    reply = s.recv(4096)
    if reply:
        print(reply)
    else:
        s.close()
        break

 服務端socket編程socket

 

import socket

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print('socket建立成功')
try:
    s.bind(('', 888))
except socket.error as msg:
    print(msg)
    exit()

print('socket綁定端口成功')
s.listen(10)
print('socket正在監聽')

while True:
    conn, addr = s.accept()
    print(addr[0]+'::'+addr[1], '客戶端鏈接成功', )

    data = conn.recv(1024)
    print('接收到的數據爲',data)
    if not data:
        break
    conn.sendall(data)

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