Python socket 程式設計學習

2021-08-30 02:34:24 字數 1086 閱讀 1000

server.py

import socket

host = 『daring.cwi.nl』

port = 50007

s = socket.socket(socket.af_inet,socket.sock_stream)

s.bind((host ,port ))

s.listen(1)

conn,addr = s.accept()

print(『connected by』,addr)

while 1:

data = conn.recv(1024)

if not data:break

conn.sendall(data)

conn.close()

client.py

import socket

host=『127.0.0.1』

port = 50007

s = socket.socket(socket.af_inet,socket.sock_stream)

s.connect((host,port))

s.sendall(『hello,world』)

data = s.recv(1024)

s.close()

print(『received』,repr(data))

報錯1 :

s.bind((host ,port ))

socket.gaierror: [errno 11001] getaddrinfo failed

解決:將host = 『daring.cwi.nl』 改為host = 『127.0.0.1』

報錯2: s.sendall(『hello,world』)

typeerror: a bytes-like object is required, not 『str』

解決:s.sendall(『hello,world』)

換成s.sendall(『hello,world』.encode(『utf-8』))

遺留問題:server.py 啟動後,應該要可以接收多個client傳送的請求,但是啟動第二個client.py的時候就報無法連線了 此涉及到多執行緒 待解決後更新

Python Socket 程式設計

client import socket,sys if name main 處理引數 argv sys.argv if len argv 3 or len argv 2 and argv 1 print useage argv 0 sys.exit 0 host argv 1 server ip位址...

python socket程式設計

python 編寫server的步驟 1.第一步是建立socket物件。呼叫socket建構函式。如 socket socket.socket family,type family引數代表位址家族,可為af inet或af unix。af inet家族包括internet位址,af unix家族用於...

python socket程式設計

客戶端 author lenovo fromsocketimport host localhost port 2157 bufsize 1024 addr host,port tcpclient socket af inet,sock stream tcpclient.connect addr wh...