#!/usr/bin/python3
# -*-coding:utf-8 -*-
import socket
import time
import sys
cod =
'utf-8'
host = socket.gethostname(
)# 主機ip
port =
9999
# 軟體埠號
bufsiz =
1024
addr =
(host, port)
size =
5tcps = socket.socket(socket.af_inet, socket.sock_stream)
# 建立socket物件
tcps.setsockopt(socket.sol_socket, socket.so_reuseaddr,1)
# 加入socket配置,重用ip和埠
tcps.bind(addr)
# 繫結ip埠號
tcps.listen(size)
# 設定最大鏈結數
while
true
:print
("伺服器啟動,監聽客戶端鏈結"
) conn, addr = tcps.accept(
)print
("鏈結的客戶端"
, addr)
while
true
:try
: data = conn.recv(bufsiz)
# 讀取已鏈結客戶的傳送的訊息
except exception:
print
("斷開的客戶端"
, addr)
break
print
("客戶端傳送的內容:"
, data.decode(cod))if
not data:
break
msg = time.strftime(
"%y-%m-%d %x"
)# 獲取結構化事件戳
msg1 =
'[%s]:%s'
%(msg, data.decode(cod)
) conn.send(msg1.encode(cod)
)# 傳送訊息給已鏈結客戶端
conn.close(
)# 關閉客戶端鏈結
tcps.closel(
)
#!/usr/bin/python3
# -*-coding:utf-8 -*-
import socket
from time import ctime
host = socket.gethostname(
)# 服務端ip
port =
9999
# 服務端埠號
bufsiz =
1024
addr =
(host, port)
tcpclisock = socket.socket(socket.af_inet, socket.sock_stream)
# 建立socket物件
tcpclisock.connect(addr)
# 連線伺服器
while
true
: data =
input
('>>'
).strip(
)# 例如在讀檔案裡面的文字時,每一行預設後面有\n或者有\r,所以strip用於去除首尾空格或者回車符。
ifnot data:
break
tcpclisock.send(data.encode(
'utf-8'))
# 傳送訊息
data = tcpclisock.recv(bufsiz)
# 讀取訊息
ifnot data:
break
print
(data.decode(
'utf-8'))
tcpclisock.close(
)# 關閉客戶端
python網路程式設計 TCP網路程式設計
tcp程式設計 客戶端 import socket 1 套接字 tcp socket socket.socket socket.af inet,socket.sock stream 2 建立鏈結 tcp socket.connect 172.27.35.1 8080 3 傳送資訊 tcp socke...
python 網路程式設計
今天晚上學習了一下python的網路程式設計,實現了client向server傳送資料,server反饋資訊 python 3.3 版本 server from socket import class tcpserver object def init self,serverport self.se...
python網路程式設計
網路通訊是計算機之間的程序之間的通訊。tcp程式設計 tcp連線建立是雙向通道,客戶端與服務端都可以給對方傳送資料。建立tcp連線時,主動發起連線的叫客戶端,被動響應連線的叫服務端。建立乙個tcp的socket連線 用socket family,type 建立套接字獲得socket物件。family...