优草派  >   Python

Python实现网络通信怎么做?Python如何根据TCP协议完成数据传输

罗西汉            来源:优草派

对一个真正的能够在互联网上去直接使用并传输数据的python程序来说,它是需要挂载在互联网上并且能够在客户端以及服务端开启网络通信来实现数据传输。下面这篇文章会来给大家介绍一下,python实现网络通信的方法,感兴趣的小伙伴就一起往下看看吧。

Python实现网络通信怎么做?Python如何根据TCP协议完成数据传输

一、服务端

网络通信指的就是网络之间的数据传输,而数据想要传输自然是需要开启客户端以及服务端之间的通信服务。而服务端就是用来接收请求并对其处理,然后响应将数据返回的作用,服务端放在python程序的服务器上。

那么服务端的创建需要使用到socket模块,这个模块能够构建出来一个使用TCP协议套接字端。然后就要对请求进行分析并且解码之后处理数据,之后还要创建出来一个监听对象指定ip地址并且等待用户的连接,代码示例如下所示:

import socket
import threading
def session(sock, 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((data.decode('utf-8')).encode('utf-8'))
sock.close()
server=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
server.bind(('127.0.0.1',1234))
server.listen(5)
while True:
    sock, addr = s.accept()
    t = threading.Thread(target=session, args=(sock, addr)) t.start()

二.客户端

客户端的话就是用来处理用户的操作并且执行访问服务端请求的python程序,它可以不和服务端的python代码放在一起。那么客户端的代码编写就比较简单了,创建出一个TCP协议的socket连接对象。

然后使用这个对象的connect()方法连接上服务端,再通过send()方法将数据发送到服务端就可以完成网络通信的数据传输了,代码示例如下:

import socket
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(('127.0.0.1', 1234))
for data in [b'Rose', b'Think', b'Babala']:
    s.send(data)
s.send(b'exit')
s.close()

需要注意的一点就是,在启动客户端程序的时候,服务端的python程序也必须启动并且在同一设备上。否则的话服务端需要部署在云服务器上,不然是无法传输数据的。

以上就是关于“Python实现网络通信怎么做?Python如何根据TCP协议完成数据传输”的全部内容了,希望对你有所帮助。

【原创声明】凡注明“来源:优草派”的文章,系本站原创,任何单位或个人未经本站书面授权不得转载、链接、转贴或以其他方式复制发表。否则,本站将依法追究其法律责任。
TOP 10
  • 周排行
  • 月排行