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日

相关文章

  • 详解Python中matplotlib模块的绘图方式

    下面是详解Python中matplotlib模块的绘图方式的完整攻略。 一、Matplotlib概述 Matplotlib是Python的一个开源绘图库,提供了丰富的绘图工具,可用于绘制各种静态、动态、交互式的图表、图形和可视化。Matplotlib的设计目标是简单易用,同时支持多种输出格式,如图片、PDF、SVG等,并且可兼容NumPy数组和Pandas数…

    python 2023年5月19日
    00
  • Python requests模块安装及使用教程图解

    Python requests模块安装及使用教程图解 1. 安装requests模块 在终端中输入以下命令安装requests模块: pip install requests 注意: 如果你使用的是python3,需要修改命令为: pip3 install requests 安装完成后,我们就可以在脚本中使用requests模块了。 2. requests模…

    python 2023年5月14日
    00
  • pip报错“ModuleNotFoundError: No module named ‘pip._vendor.colorama’”怎么处理?

    原因 “ModuleNotFoundError: No module named ‘pip._vendor.colorama'” 错误通常是以下原因引起的: pip 安装损坏:如果您的 pip 安装损坏或不完整,则可能会出现此错误。在这种情况下,您需要重新安装 pip。 缺少 colorama 模块:如果您的系统缺少 colorama 模块,则可能会出现此错…

    python 2023年5月4日
    00
  • python高级特性简介

    Python高级特性简介 一. 简介 Python是一个十分强大的语言,它尤其擅长处理数据,具有很多有用的高级特性,用这些特性可以极大地简化代码、提高效率。本文将介绍一些Python高级特性,帮助你更好地理解Python语言。 二. 列表推导式 列表推导式可以通过一种简单的方式创建列表。你可以通过一行代码实现以前需要写很多行代码才能实现的功能。示例如下: 示…

    python 2023年6月3日
    00
  • Python中的@cache巧妙用法

    当我们使用Python进行编程时,常常会遇到需要使用一些需要花费大量计算资源来进行复杂计算的函数,而这些计算结果可能会被多次使用。如果每次调用这个函数都重新计算一遍,可能会浪费大量的计算资源。@cache装饰器就提供了一个方便的方法来缓存任何昂贵的函数调用结果并以后重用它们。 使用@cache装饰器进行基本缓存 Python内置的functools库中提供了…

    python 2023年5月18日
    00
  • Python中利用pyqt5制作指针钟表显示实时时间(指针时钟)

    让我为你详细讲解一下如何在 Python 中使用 PyQt5 库制作指针时钟显示实时时间。 1. 创建 Qt 应用程序 首先,需要导入 PyQt5 库和系统时间模块,然后创建一个 Qt 应用程序。 import sys import datetime from PyQt5.QtWidgets import QApplication, QWidget from…

    python 2023年6月2日
    00
  • Python利用pangu模块实现文本格式化小工具

    Python利用pangu模块实现文本格式化小工具攻略 什么是Pangu Pangu是一个Python库,它的主要功能是自动在中英文字符之间加上空格。 在中文排版中,中文和英文之间都要用空格隔开,否则会让排版看起来很难看。手动加上空格显然是非常麻烦的,因此诞生了Pangu这个库,它可以自动识别中英文字符,然后自动加上符合排版规范的空格。对于需要排版中英文混合…

    python 2023年6月2日
    00
  • 如何在Python中进行二次回归

    在Python中进行二次回归可以使用scikit-learn库中的PolynomialFeatures类和LinearRegression类。 下面是进行二次回归的完整步骤: 1. 导入所需库 import numpy as np import matplotlib.pyplot as plt from sklearn.preprocessing impor…

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