Python利用socket庫搭建伺服器!

做一個左手敲鋼琴,右手敲代碼的極度浪漫的現實主義者

今天向大家介紹如何利用python搭建自己的服務器

首先第一點,我眼中的服務器,範圍可能有點寬泛,我認為只要能有IP地址的(不管固不固定)計算機或者系列主卡,都可以作為服務器。

進項向大家介紹的是利用騰訊雲的服務器,來建立一個,能夠自動獲取客戶端發送信息並處理的程序

python的socket庫可以說非常發達,但是調用起來也無非就幾個步驟

服務器端的基本流程:

1.初始化socket()

2.使用bind()綁定ip和端口號

3使用listen()監聽消息

4.獲取客戶端的套接字地址accept()

5.使用recv()接收數據,send()發送數據與客戶端進行交互

客戶端的基本流程:

1.初始化socket()

2.使用ip和端口號connect()連接服務器

3.使用recv()接收數據,send()發送數據與服務器進行交互

在Python的Socket無外乎就兩個主要方法,一個是發送數據的send()和接收數據的recv(),所以想要做好交互,只要做好兩邊接收和發送的操作即可。

首先介紹服務端

如果大家沒有自己的服務器的話,可以通過以下方式來獲取本地IP

windows +r 輸入 cmd 打開命令行工具 輸入ipconfig 查看IP地址

Python利用socket庫搭建服務器!

Python利用socket庫搭建服務器!

將來就可以連接這個IP

為了防止連接過程中出現問題,大家可以先將windows的防火牆關掉,或者開啟指定端口來通信

步驟

Python利用socket庫搭建服務器!

看註釋即可明白這是初始化服務端的基本操作,綁定的時候也可以寫成localhost,都代表本地IP,5005為端口號

Python利用socket庫搭建服務器!

Python利用socket庫搭建服務器!

如果連接成功,就可以直接等待數據發送了

Python利用socket庫搭建服務器!

Python利用socket庫搭建服務器!

斷開連接

其實總結起來,是完全按照上述的幾點在執行的,難度不是太大。

個人認為在服務器端程序處理上,python完全可可以和php相媲美

然後我們再來看發送端,發送端其實並沒有太多的參考價值,因為大家的發送端可能各不相同,所用的硬件設備,編程語言都會有所不同,比如GPRS模塊的嵌入式C語言編程,Android上的java編程,Pc上的各種語言,編程,其實思想就如上面所說 總結起來就兩步驟

建立連接,收發消息

當然對於不是固定IP地址的服務器,在客戶端就要通過自己的設計來手動輸入地址來解決問題了。

在這裡我介紹的還是利用python來模擬一個客戶端來建立連接

Python利用socket庫搭建服務器!

第三行註釋的部分就是手動輸入IP

Python利用socket庫搭建服務器!

隨後在利用send函數,發送數據即可。

注意:

在發送數據的時候,socket支持的是二進制格式,所以在發送接受的時候,我們需要轉碼再解碼才可以

成功後大約是如下界面

Python利用socket庫搭建服務器!

Python利用socket庫搭建服務器!

看到這裡大約就算成功了

如果大家喜歡python,可以一起交流

有什麼問題也可以互相討論

私信小編007即可獲取數十套PDF哦!

聊一聊會有好處的


分享到:


相關文章: