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()
View Code

这是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()
View Code

这是client端的代码,也是一目了然,准备跟哪个server连接,用什么端口连接,准备传输什么信息,用什么方式编码,
简单地讲,有了这些信息就可以完成FTP连接,进行FTP传输