Python实现一个发送程序和接收程序

首先,实现一个发送程序和接收程序需要使用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技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • python2 与python3的print区别小结

    下面是“Python 2与Python 3的print区别小结”的详细攻略: 标准输出 在Python 2中,print语句被用于把文本输出到控制台: print ‘Hello, world!’ 在Python 3中,print变成了一个函数,需要用括号包含文本来输出: print(‘Hello, world!’) 打印变量 在Python 2中,可以简单地…

    python 2023年6月5日
    00
  • 通过python爬虫赚钱的方法

    通过Python爬虫赚钱的方法 Python爬虫是一种非常强大的工具,可以帮助我们获取互联网上的各种数据。通过Python爬虫,我们可以获取并分析大量的数据,从而找到商机,实现收益。下面是通过Python爬虫赚钱的一些方法和技巧。 1. 数据商业化 通过Python爬虫可以获取各种各样的数据,我们可以将这些数据进行整理分析,然后将分析报告、行业研究等推广出去…

    python 2023年5月14日
    00
  • python包相关知识点之包的导入、相对路径以及绝对路径

    我可以为你详细讲解Python包相关的知识点。 导入Python包 在Python中,我们使用import语句来导入模块和包。使用语法如下: import module1 # 导入一个模块 import package1 # 导入一个包 当我们导入一个包时,Python会自动查找并运行该包中名为__init__.py的模块文件。该文件用于初始化包的内容,例如…

    python 2023年6月3日
    00
  • 如何使用 Python 编程语言发送带有客户端证书的 https 请求

    【问题标题】:How to send https request with client certificate using Python programming language如何使用 Python 编程语言发送带有客户端证书的 https 请求 【发布时间】:2023-04-02 15:21:01 【问题描述】: 我有两个 jks 文件 trustst…

    Python开发 2023年4月8日
    00
  • 解决Python 命令行执行脚本时,提示导入的包找不到的问题

    当我们在Python命令行中执行脚本时,如果提示导入的包找不到,有以下几种解决方式: 1. 使用sys.path.append()添加模块所在路径 在Python脚本中使用import语句导入其他模块时,Python解释器会按照模块搜索路径进行查找。如果要导入的模块不在Python解释器的搜索路径中,就会导致导入失败。 因此,我们可以使用sys.path.a…

    python 2023年5月13日
    00
  • Django笔记十七之group by 分组用法总结

    本文首发于微信公众号:Hunter后端原文链接:Django笔记十七之group by 分组用法总结 这篇笔记介绍 Django 里面 model 的 group by 对应的一些操作。 用到的 Model 如下: class TestModel(models.Model): num = models.IntegerField() user_id = mod…

    python 2023年4月18日
    00
  • Python定义函数功能与用法实例详解

    Python定义函数功能与用法实例详解 简介 在Python中,函数是一组可重用的代码,用于执行特定的任务。通过定义函数,我们可以将大型代码拆分成具有明确功能的较小块,使代码更加模块化、可读性更高、可维护性更强。 定义函数时需要提供一些信息,例如名称、参数和代码块,使其能够被使用。在Python中,定义函数的语法如下: def function_name(p…

    python 2023年5月13日
    00
  • 在Python中使用NumPy获取数组与字母矢量的外积

    在Python中,可以使用NumPy库的函数numpy.outer()来获取数组与字母矢量的外积,下面为您详细介绍。 1. numpy.outer()函数的用法 numpy.outer()函数用于计算两个向量的外积,并以矩阵形式返回。 numpy.outer(a,b)的参数如下: a:一维数组(如列表、元组等); b:一维数组(如列表、元组等)。 函数返回一…

    python-answer 2023年3月25日
    00
合作推广
合作推广
分享本页
返回顶部