Python網路程式設計學習筆記一 socket模組

2021-07-31 12:16:09 字數 2005 閱讀 1352

#! -*- coding:utf-8 -*-

'''主要測試python網路程式設計中socket模組的使用

涉及到的技術點: 套接字:面向連線的還有非面向連線套接字:tcp面向連線、udp非面向連線

1、匯入socket

2、建立socket :socket三要素 1、socket_family, 2、socket_type 3、protool 預設0

3、服務端

socket繫結網路

socket監聽

while :

等待客戶端連線 accept

while

接收客戶端資訊

關係客戶端連線

socket關閉

4、客戶端

連線伺服器

while

對話,傳送和接收

關閉客戶端套接字

'''from socket import *

from time import ctime

class

socket_ser

(object):

def__init__

(self):

self.host = ''

self.port = 21567

self.buffer = 1024

self.addr = (self.host,self.port)

defcreate

(self):

ser = socket(af_inet,sock_stream)

ser.bind(self.addr)

ser.listen(5)

while

true:

print

'waiting the client connect ...'

tcpclisocket ,cliaddr = ser.accept()

print

'connect the server from : ',cliaddr

while

true:

data = tcpclisocket.recv(self.buffer)

ifnot data:

break

print data

info = raw_input('>:\n')

ifnot info:

break

tcpclisocket.send(info)

tcpclisocket.close()

print

'from ',cliaddr,' connection is closed!'

ser.close()

if __name__ == '__main__':

ser = socket_ser()

ser.create()

客戶端:

class

socket_client

(object):

def__init__

(self):

self.host = 'localhost'

self.port = 21567

self.buffer = 1024

self.addr = (self.host,self.port)

defcreate

(self):

cli = socket(af_inet,sock_stream)

cli.connect(self.addr)

while

true:

info = raw_input('>:\n')

ifnot info:

break

cli.send(info)

data = cli.recv(self.buffer)

ifnot data:

break

print data

cli.close()

print

'the client socket is closed!'

python網路程式設計學習筆記(一)

python網路程式設計 建立乙個能接受客戶端的訊息,在訊息前加乙個時間戳後返回的tcp伺服器 usr bin env python from socket import from time import ctime host port 21567 bufsiz 1024 addr host,por...

Python網路程式設計 學習筆記

1 為了把全世界的所有不同型別的計算機都連線起來,就必須規定一套全球通用的協議,為了實現網際網路這個目標,網際網路協議簇 internet protocol suite 就是通用協議標準。internet是由inter和net兩個單詞組合起來的,原意就是連線 網路 的網路,有了internet,任何...

學習筆記 Python網路程式設計

tcp程式設計 server 1 import socket,threading,time23 defdealclient sock,addr 4print accept new connection from s s.addr 5 sock.send b hello,i am server 給cl...