Python中利用socket进行server端和client端通信是网络编程的基础,是最简单的传输范例。
(懂网络的请自动跳过这一部分)
首先,要想通信,必须建立连接,建立连接的过程,需要client端首先发送请求,server端回应,“我收到了”,client端回应,“收到”,这就是通常所说的三次握手,
要保证可以相互通信就需要保证相同的地址、端口,这样大家就在一个频道上说话了,
不说了,上代码......
1 import socket 2 server = socket.socket() 3 server.bind(('127.0.0.1', 6700)) 4 server.listen(5) 5 6 while True: 7 conn, addr = server.accept() 8 print(conn, addr) 9 10 while True: 11 data = conn.recv(1024) 12 data = data.decode("utf-8") 13 print(data) 14 if not data: 15 print('lost') 16 break 17 conn.send('successful'.encode('utf-8')) 18 19 server.close()
这是server端的代码,简单的说就是对外说明,server端是谁,监听哪个端口,监听几个client,等待client连接,以什么方式通信(这里主要是指编码问题),
1 import socket 2 client = socket.socket() 3 client.connect(('127.0.0.1', 6700)) 4 5 while True: 6 msg = input(">>") 7 if len(msg) == 0: continue 8 client.send(msg.encode('utf-8')) 9 data = client.recv(1024) 10 print(data) 11 12 client.close()
这是client端的代码,也是一目了然,准备跟哪个server连接,用什么端口连接,准备传输什么信息,用什么方式编码,
简单地讲,有了这些信息就可以完成FTP连接,进行FTP传输