简单的学习下利用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