首先,实现一个发送程序和接收程序需要使用Python中的Socket库。Socket库是Python提供的一个网络通信库,可以通过它实现网络编程,包括创建套接字、发送数据、接收数据等。
以下是实现一个发送程序和接收程序的完整攻略:
1.创建发送程序
1.1 导入socket库
import socket
1.2 创建一个socket对象
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
1.3 设置IP和端口
host = '127.0.0.1'
port = 12345
1.4 连接Socket服务器
s.connect((host,port))
1.5 发送消息
message = 'Hello,World!'
s.sendall(message.encode())
1.6 关闭连接
s.close()
2.创建接收程序
2.1 导入socket库
import socket
2.2 创建一个socket对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
2.3 设置IP和端口
host = '127.0.0.1'
port = 12345
2.4 绑定IP和端口
s.bind((host, port))
2.5 监听Socket端口
s.listen(5)
2.6 接收客户端连接
conn,addr = s.accept()
print('Connected by', addr)
2.7 接收消息
data = conn.recv(1024)
print(data.decode())
2.8 关闭连接
conn.close()
以上是Python实现一个发送程序和接收程序的完整攻略,下面给出两个示例说明:
示例一:发送程序发送一个包含时间信息的消息,接收程序接收到消息并将消息内容与当前系统时间一起以字符串形式打印出来。
发送程序代码如下:
import socket
import time
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
host = '127.0.0.1'
port = 12345
s.connect((host,port))
message = 'The current time is: ' + str(time.ctime())
s.sendall(message.encode())
s.close()
接收程序代码如下:
import socket
import time
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = '127.0.0.1'
port = 12345
s.bind((host, port))
s.listen(5)
conn,addr = s.accept()
print('Connected by', addr)
data = conn.recv(1024)
print(data.decode())
print('The current system time is: '+str(time.ctime()))
conn.close()
示例二:发送程序发送一个包含数字的消息,接收程序接收到消息并将数字与100相乘后以字符串形式返回给发送程序。
发送程序代码如下:
import socket
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
host = '127.0.0.1'
port = 12345
s.connect((host,port))
message = '50'
s.sendall(message.encode())
result = s.recv(1024)
print(result.decode())
s.close()
接收程序代码如下:
import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = '127.0.0.1'
port = 12345
s.bind((host, port))
s.listen(5)
conn,addr = s.accept()
print('Connected by', addr)
data = conn.recv(1024)
value = int(data.decode())
result = value * 100
conn.sendall(str(result).encode())
conn.close()
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python实现一个发送程序和接收程序 - Python技术站