简单的学习下利用socket来建立客户端和服务端之间的连接并且发送数据
1. 客户端socketClient.py代码
1
2
3
4
5
6
7
8
9
10
11
12
13
|
import socket s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 建立连接: s.connect(( '127.0.0.1' , 9999 )) # 接收欢迎消息: print (s.recv( 1024 ).decode( 'utf-8' )) for data in [b 'Michael' , b 'Tracy' , b 'Sarah' ]: # 发送数据: s.send(data) print (s.recv( 1024 ).decode( 'utf-8' )) s.send(b 'exit' ) s.close() |
2. 服务端serverSocket.py代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
import socket import threading import time # from threading import Thread s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 监听端口: s.bind(( '127.0.0.1' , 9999 )) s.listen( 5 ) print ( 'Waiting for connection...' ) def tcplink(sock, addr): print ( 'Accept new connection from %s:%s...' % addr) sock.send(b 'Welcome!' ) while True : data = sock.recv( 1024 ) time.sleep( 1 ) if not data or data.decode( 'utf-8' ) = = 'exit' : break sock.send(( 'Hello, %s!' % data.decode( 'utf-8' )).encode( 'utf-8' )) sock.close() print ( 'Connection from %s:%s closed.' % addr) while True : # 接受一个新连接: sock, addr = s.accept() # 创建新线程来处理TCP连接: t = threading.Thread(target = tcplink, args = (sock, addr)) t.start() |
3.操作过程
开两个控制台窗口,先运行服务端 python3 serverSocket.py
然后运行客户端 python3 socketClient.py
socket连接截图如下
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:http://blog.csdn.net/robinson_911/article/details/73143760