Python socket實現伺服器端與客戶端連線

2021-10-04 17:21:06 字數 2419 閱讀 9768

伺服器端與客戶端每個5秒鐘通訊一次,具體實現如下:

伺服器端**

#!/usr/bin/python

# -*- coding: utf-8 -*-

# 檔名:server.py

import socket # 匯入 socket 模組

import time

s = socket.socket(

)# 建立 socket 物件

host = socket.gethostname(

)# 獲取本地主機名

host=

'10.276.58.231'

port =

8080

# 設定埠

s.bind(

(host, port)

)# 繫結埠

s.listen(5)

# 等待客戶端連線

while

true

:#新增接收鏈結迴圈,conn就是客戶端鏈結過來而在服務端為期生成的乙個鏈結例項

conn,addr=s.accept(

)#被動接受tcp客戶端連線,(阻塞式)等待連線的到來,等待鏈結,多個鏈結的時候就會出現問題,其實返回了兩個值

print

(, addr)

print

('conn'

, conn)

while

true

:try

: data=

"server"

conn.sendall(

bytes

(data,encoding=

"utf-8"))

data=conn.recv(

1024

)print

(str

(data,encoding=

"utf-8"))

while

true

:#新增通訊迴圈,可以不斷的通訊,收發訊息

a =0# count = 0

while

true

:# count+=1

time.sleep(5)

#睡眠5秒

a+=1 keepclass =

"server->與伺服器端已連線"

+str

(a*5)+

+time.strftime(

'%y-%m-%d %h:%m:%s'

,time.localtime(time.time())

)# time.sleep(1)

conn.send(

bytes

(keepclass,

'utf-8'))

#傳送訊息

msg=conn.recv(

1024*2

) msg.decode(

'utf-8'

)print

(str

(msg.decode(

'utf-8'))

)except exception as e:

print

(e)break

conn.close(

)#關閉連線

c.close(

)# 關閉連線

客戶端**

#import socket module as socket

import socket

import sys

ip_port=

('10.276.58.231'

,8080

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

s.connect(ip_port)

#連線伺服器端

while

true

:#新增通訊迴圈,客戶端可以不斷發收訊息

msg=

'wo shi kehuduan xingtiao'

s.send(msg.encode(

'utf-8'))

#傳送訊息(只能傳送位元組型別)

a=s.recv(

1024

)#接收訊息

sys.stderr.write(

'client:'

+str

(a.decode(

'utf-8'))

+'\n'

)s.close(

)#socket關閉

實現效果:

伺服器端效果:

客戶端實現效果:

python socket簡單實現SSH伺服器端

server import socket,os server socket.socket server.bind localhost 9999 server.listen while true conn,addr server.accept while true data conn.recv 102...

python socket 多執行緒實現

近期需要用到socket協議進行hilenskit與ubuntu系統進行資訊傳輸,同時需要用到多執行緒保證主線程不受到影響。主要內容包括socket語法 python多執行緒 socket.socket family type proto 通過該函式建立乙個socket類 family包括af un...

python socket 簡單實現聊天功能

今天看了下python的socket,想實現下兩台電腦的聊天功能 覺得這樣好像自己寫出個簡易版qq沒問題了 於是動手開始實現。首先是伺服器端 from socket import from time import ctime host port 80 埠號,伺服器與客戶端要一致 bufsiz 102...