socket鐨刟ccept鏂规硶鎬庝箞浣跨敤
鍦ㄤ娇鐢╯ocket缂栫▼鏃讹紝鍙互閫氳繃璋冪敤socket瀵硅薄鐨刟ccept鏂规硶鏉ユ帴鍙楀鎴风鐨勮繛鎺ヨ姹傘€?/p>
浣跨敤accept鏂规硶鐨勬楠ゅ涓嬶細
- 鍒涘缓涓€涓猻ocket瀵硅薄锛屽苟缁戝畾鍒颁竴涓狪P鍦板潃鍜岀鍙e彿銆?/li>
- 鐩戝惉璇ocket瀵硅薄锛岀瓑寰呭鎴风鐨勮繛鎺ヨ姹傘€?/li>
- 璋冪敤accept鏂规硶锛屾帴鍙楀鎴风鐨勮繛鎺ヨ姹傦紝骞惰繑鍥炰竴涓柊鐨剆ocket瀵硅薄锛岃瀵硅薄鐢ㄤ簬涓庡鎴风杩涜閫氫俊銆?/li>
- 浣跨敤杩斿洖鐨勬柊鐨剆ocket瀵硅薄杩涜閫氫俊锛屽彲浠ュ彂閫佸拰鎺ユ敹鏁版嵁銆?/li>
- 鍏抽棴socket杩炴帴銆?/li>
涓嬮潰鏄竴涓畝鍗曠殑绀轰緥浠g爜锛屾紨绀轰簡濡備綍浣跨敤socket鐨刟ccept鏂规硶锛?/p>
import socket
# 鍒涘缓socket瀵硅薄
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 缁戝畾IP鍦板潃鍜岀鍙e彿
server_address = ('localhost', 8888)
server_socket.bind(server_address)
# 鐩戝惉杩炴帴璇锋眰
server_socket.listen(1)
print('绛夊緟瀹㈡埛绔繛鎺?..')
# 鎺ュ彈瀹㈡埛绔繛鎺ヨ姹?client_socket, client_address = server_socket.accept()
print(f'瀹㈡埛绔?{client_address} 杩炴帴鎴愬姛锛?)
# 浣跨敤杩斿洖鐨勬柊鐨剆ocket瀵硅薄杩涜閫氫俊
data = client_socket.recv(1024)
print(f'鎺ユ敹鍒板鎴风鏁版嵁锛歿data.decode()}')
response = 'Hello, Client!'
client_socket.send(response.encode())
print('鍙戦€佸搷搴旂粰瀹㈡埛绔細', response)
# 鍏抽棴socket杩炴帴
client_socket.close()
server_socket.close()
鍦ㄤ笂闈㈢殑绀轰緥涓紝棣栧厛鍒涘缓浜嗕竴涓猻ocket瀵硅薄锛屽苟缁戝畾鍒版湰鍦颁富鏈虹殑8888绔彛銆傜劧鍚庤皟鐢╨isten鏂规硶寮€濮嬬洃鍚繛鎺ヨ姹傘€傛帴涓嬫潵璋冪敤accept鏂规硶锛屾帴鍙楀鎴风鐨勮繛鎺ヨ姹傦紝骞惰繑鍥炰竴涓柊鐨剆ocket瀵硅薄client_socket鍜屽鎴风鍦板潃client_address銆傜劧鍚庝娇鐢╟lient_socket瀵硅薄杩涜閫氫俊锛屾帴鏀跺鎴风鍙戦€佺殑鏁版嵁骞跺彂閫佸搷搴斻€傛渶鍚庡叧闂璼ocket杩炴帴銆?/p>
娉ㄦ剰锛氫笂杩颁唬鐮佸彧鏄竴涓畝鍗曠殑绀轰緥锛屽疄闄呬娇鐢ㄦ椂鍙兘闇€瑕佹坊鍔犲紓甯稿鐞嗗拰寰幆绛夐€昏緫鏉ヤ繚璇佺▼搴忕殑绋冲畾鎬у拰鍙潬鎬с€?/p>
相关问答