學習python後寫的關於網路程式設計,執行緒的例子

2021-08-25 23:20:25 字數 1854 閱讀 5076

[size=large]該例子綜合了python的網路程式設計,執行緒,異常處理,字串處理,函式,類,做為入門級的例子,很[/size]

[size=large]實用[/size]

伺服器端server.py

#coding=utf-8

import socket

import threading

from time import sleep

class threadclass(threading.thread):

def setclient(self,client):

self.client = client

def run(self):

print('threadname-->',self.getname())

s = self.client.recv(1024).decode('utf-8')

try:

s = eval(s)

s = str(s)

except nameerror:

pass

s = 'server deal result:' + s + "\n"

self.client.send(s.encode('utf-8'))

self.client.close()

if __name__=='__main__':

s = socket.socket()

host = socket.gethostname()

port = 1234

s.bind((host,port))

#最多同時連5個客戶端

s.listen(5)

while true :

client,addr = s.accept()

threadclass = threadclass()

threadclass.setclient(client)

threadclass.start()

#sleep(20)

#if threadclass.isalive():

#print('alive')

#else:

#print("notalive")

客戶端client.py

#coding=utf-8

import socket

def sendsource(source):

return source.encode('utf-8')

def recvsource(source):

return source.decode('utf-8')

def dealsource(source):

try:

s = socket.socket()

s.connect(('10.9.9.12',1234))

s.send(sendsource(source))

#緩衝區1k

print(recvsource(s.recv(1024)))

except socket.timeout:

print("timeout")

finally:

s.close()

if __name__=='__main__':

while true:

source = input("input your source:\n")

if str.strip(source)=="quit":#退出

quit()

else:#交給伺服器處理

dealsource(source)

幾點需要注意:

1.**裡有中文的話要指定#coding=utf-8

2.命令列輸入的資料要去空格str.strip(source)

學習python寫網路爬蟲(一)

最簡單的爬蟲 import urllib2 defdownload url return urllib2.urlopen url read print download 更加健壯的版本,可以捕獲異常了 import urllib2 defdownload url print downloading ...

python寫網路爬蟲

注 本文旨在練習正規表示式的簡單使用方法 usr bin evn python coding cp936 def gethtml url 定義gethtml 函式,用來獲取頁面源 page urllib.urlopen url urlopen 根據url來獲取頁面源 html page.read 從...

用Python寫網路程式設計

網路上的兩個程式通過乙個雙向的通訊連線實現資料的交換,這個連線的一端稱為乙個socket 所謂socket通常也稱作 套接字 用於描述ip位址和埠,是乙個通訊鏈的控制代碼,應用程式通常通過 套接字 向網路發出請求或應答網路請求 socket起源於uinx,而unix linux基本哲學之一就是 一切...