激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

腳本之家,腳本語言編程技術(shù)及教程分享平臺(tái)!
分類導(dǎo)航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務(wù)器之家 - 腳本之家 - Python - python 基于TCP協(xié)議的套接字編程詳解

python 基于TCP協(xié)議的套接字編程詳解

2021-07-27 00:15格格小丫頭 Python

這篇文章主要介紹了python 基于TCP協(xié)議的套接字編程,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

基于TCP協(xié)議的套接字編程

實(shí)現(xiàn)電話溝通為例,這里傳遞的是字符,可以自己嘗試去發(fā)送一個(gè)文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 服務(wù)端
import socket
# 1. 符合TCP協(xié)議的手機(jī)
server = socket.socket(socket.AF_INET,socket.SOCK_STREAM) # TCP
# 2. 綁定手機(jī)號(hào) 一個(gè)服務(wù)器,我們自己的電腦作為服務(wù)器的話,用自己的IP地址
server.bind(('127.0.0.1',8000)) # 127.0.0.1 代表本地
# server.bind(('192.168.11.251',8000))
server.listen(5) # 半連接池 可以同時(shí)接收5個(gè)客戶端
# 3. 等待客戶端連接
print('start...')
# 鏈接循環(huán)
while True:
# 通信循環(huán)
conn,client_addr = server.accept()
while True:
try:
# 4. 收到信息 receive
data = conn.recv(1024) # 每次接收多少字節(jié),如果改為10,客戶端輸入dir,(可以在cmd中輸入 dir,看看會(huì)得到什么) ,會(huì)出現(xiàn)什么情況呢,下次的博客會(huì)講到粘包問題,以及如何處理粘包問題
print(data)
# 5. 回消息
conn.send(data.upper())
except ConnectionAbortedError:
continue
except ConnectionResetError:
break
?
1
2
3
4
5
6
7
8
9
10
11
12
13
# 客戶端1
import socket
# 1. 創(chuàng)建符合TCP協(xié)議的手機(jī)
client = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
# 2. 撥號(hào)
client.connect(('127.0.0.1',8000))
while True:
msg = input('please enter your msg') # dir
# 3. 發(fā)送消息
client.send(msg.encode('utf8'))
# 4. 接收消息
data = client.recv(1024)
print(data)
?
1
2
3
4
5
6
7
8
9
10
11
12
13
# 客戶端2
import socket
# 1. 創(chuàng)建符合TCP協(xié)議的手機(jī)
client = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
# 2. 撥號(hào)
client.connect(('127.0.0.1',8000))
# msg = input('please enter your msg>>>')
# 3. 發(fā)送消息
client.send('hello'.encode('utf8'))
client.send('world'.encode('utf8'))
# 4. 接收信息
data = client.recv(1024)
print(data)

模擬ssh遠(yuǎn)程執(zhí)行命令(linux系統(tǒng))

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# ssh服務(wù)端
import socket
import subprocess
server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
server.bind(('192.168.11.251',8000)) # 這是我的機(jī)子,客戶端可以是其他人的機(jī)子
server.listen(5)
print('start...')
while True:
conn,cient_addr = server.accept()
print(client_addr) # 打印出的是其他人機(jī)子的IP
while True:
try:
cmd = conn.recv(1024) # dir
print(cmd)
# 幫你執(zhí)行cmd命令,然后把執(zhí)行結(jié)果保存到管道里
pipeline = subprocess.Popen(cmd.decode('utf8'),
shell = True,
stderr = subprocess.PIPE, # std 標(biāo)準(zhǔn)
stdout = subprocess.PIPE)
stderr = pipeline.stderr.read()
stdout = pipeline.stdout.read()
conn.send(stderr)
conn.send(stdout)
except ConnectionResetError:
break
?
1
2
3
4
5
6
7
8
9
10
11
12
13
# ssh客戶端
import socket
# 1.創(chuàng)建符合TCP協(xié)議的手機(jī)
client = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
# 2. 撥號(hào)
client.connect(('192.168.11.210',8000))
while True:
msg = input('please enter your msg') # dir
# 3. 發(fā)送消息
client.send(msg.encode('utf8'))
# 4. 接收消息
data = client.recv(10)
print(data.decode('gbk')) # 在mac電腦上可能是'utf8'

學(xué)習(xí)最有效的方法一定是有輸入,一定要輸出,這樣學(xué)的東西才能真正得有用

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://www.cnblogs.com/geyatou322/p/11093020.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 性欧美videos另类极品 | 久久久午夜电影 | 色播视频在线播放 | 香蕉视频破解 | 9999久久久久久 | 国产在线精品一区二区三区 | 在线播放免费视频 | 久久毛片免费观看 | 色678黄网站全部免费 | 懂色av懂色aⅴ精彩av | 91丨九色丨国产在线观看 | 亚洲国产精品二区 | 久久久免费观看完整版 | 黄污污网站 | 91色综合综合热五月激情 | 黄色大片在线免费看 | 成人福利视频在线观看 | 黄视频免费在线 | 国产妇女乱码一区二区三区 | 久久久久久中文字幕 | av成人在线播放 | 九九久久视频 | 在线观看第一区 | 欧美一级免费视频 | 天天草夜夜骑 | 12av电影 | 精品一区视频 | 福利一区二区三区视频在线观看 | 亚洲一区二区三区91 | www.av520| 精品一区二区三区网站 | 成人一级视频 | 成人三级免费电影 | 成人福利视频网站 | 黄色成人在线 | 国产羞羞视频在线免费观看 | 我爱我色成人网 | 国产午夜精品一区二区三区视频 | 国产亚洲精品久久久久久久软件 | 成人精品aaaa网站 | 欧美视频在线一区二区三区 |