基於tcp的套接字程式設計

2022-04-10 23:04:31 字數 4303 閱讀 7015

伺服器端:

1

#author : kelvin2#

date : 2019/1/28 22:10

3from socket import *

4 server=socket.socket(af_inet,sock_stream)

5 server.setsockopt(sol_socket,so_reuseaddr,1) #

解決伺服器重啟時位址被占用的問題

6 server.bind(("

127.0.0.1

",8888))

7 server.listen(5)

8print("

伺服器已經啟動...")

9 conn,addr=server.accept()

10 res=conn.recv(1024).decode("

utf8")

11print("

伺服器:

",res)

12 conn.send("

伺服器收到請求!

".encode())

13conn.close()

14 server.close()

客戶端:

1

#author : kelvin2#

date : 2019/1/28 22:10

3import

socket

4 client=socket.socket(socket.af_inet,socket.sock_stream)

5 client.connect(("

127.0.0.1

",8888))

6 client.send("

客戶端請求連線!

".encode())

7 res=client.recv(1024).decode("

utf8")

8print("

客戶端:

",res)

9 client.close()

伺服器端:

1

#author : kelvin2#

date : 2019/1/28 22:10

3from socket import *

4 server=socket.socket(af_inet,sock_stream)

5 server.setsockopt(sol_socket,so_reuseaddr,1) #

解決伺服器重啟時位址被占用的問題

6 server.bind(("

127.0.0.1

",8888))

7 server.listen(5)

8print("

伺服器已經啟動...")

9 conn,addr=server.accept()

10while

true:

11 res=conn.recv(1024).decode("

utf8")

12print("

\033[1;36;0m伺服器接收:\033[0m%s

"%res)

13 con=input("

回覆:")14

conn.send(con.encode())

15conn.close()

16 server.close()

客戶端:

1

#author : kelvin2#

date : 2019/1/28 22:10

3from socket import *

4 client=socket.socket(af_inet,sock_stream)

5 client.connect(("

127.0.0.1

",8888))

6while

true:

7 con=input("

回覆:")8

client.send(con.encode())

9print("

\033[1;36;0m客戶端:\033[0m%s

" %con)

10 res=client.recv(1024).decode("

utf8")

11print("

\033[1;36;0m伺服器端:\033[0m%s

"%res)

12 client.close()

伺服器端:

1

#author : kelvin2#

date : 2019/1/28 22:10

3from socket import *

4 server=socket.socket(af_inet,sock_stream)

5 server.setsockopt(sol_socket,so_reuseaddr,1) #

解決伺服器重啟時位址被占用的問題

6 server.bind(("

127.0.0.1

",8888))

7 server.listen(5)

8while

true:

9print("

伺服器已經啟動...")

10 conn,addr=server.accept()

11while

true:

12try

:13 res=conn.recv(1024).decode("

utf8")

14print("

\033[1;36;0m伺服器接收:\033[0m%s

"%res)

15 con=input("

回覆:")16

conn.send(con.encode())

17except

exception:

18break

19conn.close()

20 server.close()

客戶端1:

1

#author : kelvin2#

date : 2019/1/28 22:10

3import

socket

4 client=socket.socket(socket.af_inet,socket.sock_stream)

5 client.connect(("

127.0.0.1

",8888))

6while

true:

7 con=input("

回覆:")8

client.send(con.encode())

9print("

\033[1;36;0m客戶端1:\033[0m%s

" %con)

10 res=client.recv(1024).decode("

utf8")

11print("

\033[1;36;0m伺服器端:\033[0m%s

"%res)

12 client.close()

客戶端2:

1

#author : kelvin2#

date : 2019/1/28 22:10

3import

socket

4 client=socket.socket(socket.af_inet,socket.sock_stream)

5 client.connect(("

127.0.0.1

",8888))

6while

true:

7 con=input("

回覆:")8

client.send(con.encode())

9print("

\033[1;36;0m客戶端2:\033[0m%s

" %con)

10 res=client.recv(1024).decode("

utf8")

11print("

\033[1;36;0m伺服器端:\033[0m%s

"%res)

12 client.close()

基於TCP協議的套接字程式設計

socket是應用層與tcp ip協議族通訊的中間軟體抽象層,它是一組介面。在設計模式中,socket其實就是乙個門面模式,它把複雜的tcp ip協議族隱藏在socket介面後面,對使用者來說,一組簡單的介面就是全部,讓socket去組織資料,以符合指定的協議。socket模板已經為我們封裝好了,我...

基於TCP協議的套接字程式設計

基於socket通訊的內部演算法,當傳送的訊息為空的時候,接收端不會收到訊息,而傳送端向下執行到recv,兩端出於僵持狀態。所以在傳送端需要有個判斷,如果傳送的為空,則重新輸入傳送內容。socket是應用層與tcp ip協議通訊的中間軟體抽象層,它是一組介面。import socket 買手機 ph...

TCP套接字程式設計

網路程式設計又稱為套接字程式設計,為了與遠端計算機進行資料傳輸,需要連線到網際網路,而程式設計中的 套接字 就是用來連線該網路的工具。它本身具有連線的含義,還可以表示為兩台計算機之間的網路連線。4.呼叫accept函式受理連線請求 基於tcp的服務端 客戶端 tcp伺服器端預設函式呼叫順序 sock...