国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

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

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

服務(wù)器之家 - 腳本之家 - Python - Python 的 Socket 編程

Python 的 Socket 編程

2020-05-24 10:27腳本之家 Python

這篇文章最初發(fā)布的時(shí)候標(biāo)題是“Python的WebSocket編程”,坦白來(lái)說(shuō)有點(diǎn)文不對(duì)題。我們?cè)谶@里打算討論的僅僅是常規(guī)的socket編程。盡管 Web Socket 和常規(guī)sockets有點(diǎn)很相似,但又不是同一個(gè)東西。那我還是希望這篇文章對(duì)你們有點(diǎn)幫助

Socket是網(wǎng)絡(luò)應(yīng)用的基礎(chǔ)。而Python使得網(wǎng)絡(luò)socket編程入門(mén)變得超級(jí)簡(jiǎn)單。在這篇簡(jiǎn)介里面我們將創(chuàng)建一個(gè)簡(jiǎn)單服務(wù)器,用于接受和相應(yīng)客戶端程序的請(qǐng)求。
由于本人最近對(duì) Linux Containers 有點(diǎn)癡迷,因此我們也將在服務(wù)器中實(shí)現(xiàn)2個(gè)容器。同時(shí)在容器中我們?cè)趲酌腌妰?nèi)就能創(chuàng)建其他一些主機(jī),這就能非常簡(jiǎn)單的模擬出一個(gè)網(wǎng)絡(luò)。

創(chuàng)建容器

我使用的是Ubuntu14.04. 然后用root用戶運(yùn)行下面的命令就可以創(chuàng)建好2個(gè)容器了。

 

復(fù)制代碼 代碼如下:

lxc-create -t download -n pyServer
# Choose ubuntu, trusty, amd64 when prompted
# Then clone the first container
lxc-clone -o pyServer -n pyClient

 

啟動(dòng)服務(wù)器

現(xiàn)在我們創(chuàng)建好了容器,先進(jìn)入到服務(wù)器容器中并啟動(dòng)我們的服務(wù)器程序。用root權(quán)限運(yùn)行下面這條命令就可以啟動(dòng)容器了:lxc-start -n pyServer -d, 這將啟動(dòng)容器作為我們的守護(hù)進(jìn)程。讓我們先重新連接進(jìn)入這個(gè)容器。這里我喜歡使用screen,這樣我可以很方便的進(jìn)出到容器中。先創(chuàng)建screen會(huì)話:  screen -dRR pyServer,需要重新連接到容器中的話,可以用命令:lxc-attach -n pyServer
當(dāng)我們進(jìn)入到容器中后,我們需要安裝python并啟動(dòng)服務(wù)器。

 

復(fù)制代碼 代碼如下:

apt-get install python
vim pyServer.py

 

打開(kāi)vim(或你個(gè)人偏好的文本編輯器),敲入以下python代碼。

 

復(fù)制代碼 代碼如下:

from socket import *
serverPort = 12000
serverSocket = socket(AF_INET, SOCK_DGRAM)
serverSocket.bind(('', serverPort))
print "The server is ready to rock and roll!"
while 1:
    name, clientAddress = serverSocket.recvfrom(2048)
    response = "Hello " + str(name) + "! You are really good at socket programming"
    serverSocket.sendto(response, clientAddress)

 

這段代碼很直觀。我們創(chuàng)建了一個(gè)serverSocket監(jiān)聽(tīng)12000端口。當(dāng)接收到請(qǐng)求的時(shí)候(包含用戶名)就會(huì)回復(fù)一條信息。啟動(dòng)服務(wù)器的命令是 python pyServer.py 如果一切正常的話,你應(yīng)該可以看到這樣一條信息 This server is ready to rock and roll! 用Ctrl+a 和Ctrl+d退出容器(還有screen會(huì)話)

啟動(dòng)客戶端

現(xiàn)在服務(wù)器端已經(jīng)準(zhǔn)備就緒,改讓客戶端跑起來(lái)了。在開(kāi)始前先查一下服務(wù)器容器的IP地址,我們馬上就會(huì)用到。你可以用這個(gè)命令得到IP:lxc-ls --fancy 。用一個(gè)screen會(huì)話進(jìn)入到客戶端的容器,和前面步驟一樣安裝好python。

 

復(fù)制代碼 代碼如下:

lxc-start -n pyClient -d
screen -dRR pyClient
lxc-attach -n pyClient
apt-get install python
vim pyClient.py

 

在vim里面敲入以下代碼創(chuàng)建一個(gè)pyClient.py文件。

 

復(fù)制代碼 代碼如下:

from socket import *
# Replace the IP address in serverName with the IP of your container that you      grabbed previously.
serverName = '10.0.3.211'
serverPort = 12000
clientSocket = socket(AF_INET, SOCK_DGRAM)
name = raw_input('Please enter your name:')
clientSocket.sendto(name, (serverName, serverPort))
response, serverAddress = clientSocket.recvfrom(2048)
print response
clientSocket.close()

 

這段代碼也很直觀。要求用戶輸入用戶名,然后發(fā)送到服務(wù)器,最后打印出服務(wù)器響應(yīng)信息。
現(xiàn)在你可以自己來(lái)了!保存文件,然后執(zhí)行python程序 python pyClient.py .在你輸入你的名字并按下回車(chē)后,就應(yīng)該可以收到一條來(lái)自服務(wù)器的響應(yīng)信息。
這是一個(gè)非常簡(jiǎn)單的例子,但我們很容易就發(fā)現(xiàn),可以在這些基礎(chǔ)的代碼上面做一些拓展就可以實(shí)現(xiàn)很多更有趣也更復(fù)雜的應(yīng)用。我們還可以利用LXC強(qiáng)大的功能但簡(jiǎn)便的操作模擬出一個(gè)更大的網(wǎng)絡(luò)從而實(shí)現(xiàn)一個(gè)分布式應(yīng)用。

以上所述就是本文的全部?jī)?nèi)容了,希望對(duì)大家學(xué)習(xí)python能夠有所幫助。

請(qǐng)您花一點(diǎn)時(shí)間將文章分享給您的朋友或者留下評(píng)論。我們將會(huì)由衷感謝您的支持!

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 一区二区三区精品视频 | 午夜在线视频播放 | 久久精品久久久久久 | 欧美日韩精品一区二区三区 | 亚洲欧美在线观看 | 国产亚洲精品美女久久久久久久久久 | 成人动慢| 91精品国产高清一区二区三区 | 日韩精品一区二区三区在线播放 | 久久99国产精品免费网站 | 日韩一区二区在线播放 | 日韩欧美一二三 | 天天摸天天操 | 在线观看中文字幕 | 久久精品伊人 | 国产乱码精品一区二区三区中文 | 久久久精品综合 | 国产成人精品免高潮在线观看 | 久久久精品日韩 | 曰本人一级毛片免费完整视频 | 久久亚洲综合 | 激情欧美一区二区三区中文字幕 | 黄色三级网站在线观看 | 日韩专区视频 | 国产视频一区二区 | 一区二区三区在线观看视频 | 麻豆网址 | 久久久精品视频国产 | 日韩欧美一级片 | 懂色一区二区三区av片 | 亚洲视频在线观看 | 亚洲每日更新 | 久久爱综合| 亚洲在线视频 | 一级黄色录像在线观看 | 亚洲精品二三区 | 久久综合伊人77777蜜臀 | 在线观看日韩精品 | 久久亚| 高清av网站| 日韩中文在线观看 |