伺服器端與客戶端每個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...