tcp socket客户端和服务端示例分享

yizhihongxing

TCP Socket 客户端和服务端示例分享

本文是关于如何使用 Python 编写 TCP Socket 客户端和服务端的攻略。TCP (Transmission Control Protocol) 是一种传输层协议,它保证数据能够在两个应用进程之间可靠的传输。

客户端示例

以下是 Python 编写的简单 TCP Socket 客户端示例:

import socket

HOST = '127.0.0.1'  # 服务器的 IP 地址
PORT = 65432        # 服务器监听的端口号

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    s.connect((HOST, PORT))
    s.sendall(b'Hello, world')
    data = s.recv(1024)

print('Received', repr(data))

这个示例程序使用了 Python 内置的 socket 模块。首先创建了一个 TCP socket 对象,在 connect 方法里面指定了服务器的 IP 地址和端口号。然后使用 sendall 方法发送一个字符串给服务器。接着调用 recv 方法等待服务器返回数据(最多接收 1024 字节)。最后将服务器返回的数据打印出来。

服务端示例

以下是 Python 编写的简单 TCP Socket 服务器示例:

import socket

HOST = '127.0.0.1'  # 监听的 IP 地址
PORT = 65432        # 监听的端口号

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    s.bind((HOST, PORT))
    s.listen()
    conn, addr = s.accept()
    with conn:
        print('Connected by', addr)
        while True:
            data = conn.recv(1024)
            if not data:
                break
            conn.sendall(data)

这个示例程序也使用了 Python 内置的 socket 模块。首先创建了一个 TCP socket 对象,并使用 bind 方法将它和指定的 IP 地址与监听的端口号绑定。接着调用 listen 方法等待客户端的连接,一旦有客户端连接进来,就使用 accept 方法建立连接。在建立连接后,服务端就可以收到客户端发送过来的数据。服务端接收客户端发送的数据使用 recv 方法,如果客户端没有发送数据或者数据已经全部接收完了,则会退出接收循环。最后使用 sendall 方法将客户端发送的全部数据回传给客户端。

总结

本文通过两个示例代码,演示了如何使用 Python 编写 TCP Socket 客户端和服务端程序。通常情况下,TCP Socket 的应用场景有很多,比如 Web 服务器、文件传输等。只要了解了 TCP Socket 编程的基本原理和方法,就可以自己开发出更加复杂的应用程序。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:tcp socket客户端和服务端示例分享 - Python技术站

(0)
上一篇 2023年6月27日
下一篇 2023年6月27日

相关文章

  • 安卓手机socket通信(服务器和客户端)

    安卓手机socket通信(服务器和客户端)攻略 要实现安卓手机之间的socket通信,需要涉及到两个角色:服务器和客户端。服务器用于监听客户端的请求,客户端则向服务器发送请求并接收响应。以下是详细攻略。 创建服务器 1. 添加网络权限 在AndroidManifest.xml文件中添加网络权限: <uses-permission android:nam…

    other 2023年6月27日
    00
  • iOS10 Beta3怎么样?苹果iOS10开发者预览版Beta3上手视频

    iOS10 Beta3怎么样?苹果iOS10开发者预览版Beta3上手视频 简介 iOS10是苹果公司推出的最新一代移动操作系统,拥有许多新功能和改进。Beta3是苹果公司推出的iOS10开发者预览版的第三个版本,主要针对开发者测试和开发用途。本文将详细讲解iOS10 Beta3的使用方法,以及苹果iOS10开发者预览版Beta3上手视频。 Beta3更新内…

    other 2023年6月26日
    00
  • IOS自定义UIView

    下面是详细讲解“IOS自定义UIView”的完整攻略。 1. 概述 在iOS开发中,UIView是我们常用的控件,可以用来展示内容,处理用户的交互操作。但是有时候,系统提供的UIView并不能满足我们的需求,我们需要自定义UIView来实现我们想要的功能。 在自定义UIView的过程中,我们可以通过继承UIView类来实现对UIView的扩展。在UIView…

    other 2023年6月25日
    00
  • chap认证(双向)

    chap认证(双向) 在现代互联网应用中,安全性是一个至关重要的问题。传统的密码认证方式可以通过暴力破解或钓鱼攻击等手段被攻击者突破,因此需要更加安全的认证方式。其中,chap认证(Challenge Handshake Authentication Protocol)被广泛应用于网络安全中,本文将详细介绍其原理及流程。 chap认证原理 chap认证是指在…

    其他 2023年3月28日
    00
  • Java Web项目部署在Tomcat运行出错与解决方法示例

    下面将详细讲解Java Web项目部署在Tomcat运行出错的常见问题及解决方法,包含两个示例说明。 1. 问题1:404 Not Found错误 1.1 错误现象描述 在 Tomcat 运行 Java Web 项目时,当用户访问某个页面时,浏览器显示 404 Not Found 错误页面,而在本地项目调试中却正常访问。 1.2 解决方法 该问题的主要原因是…

    other 2023年6月27日
    00
  • Win10蓝屏终止代码合集(附解决方法)

    首先,我们需要了解什么是Win10蓝屏终止代码。在Win10系统中,如果系统发生错误或遇到故障,会出现蓝色的屏幕提示,并伴随有一个类似于0x0000000的终止代码,这就是Win10蓝屏终止代码。这个代码可以帮助我们定位系统出现问题的根源,同时也为解决问题提供了线索。 以下是Win10常见的蓝屏终止代码及其可能的原因和解决方法: 1. 0x0000001E …

    other 2023年6月26日
    00
  • windows7系统环境变量怎么办 使用PATH修改环境变量的方法介绍

    Windows7系统的环境变量可以通过修改PATH来实现。以下是修改环境变量的完整攻略: 1. 打开“高级系统设置”的对话框 1.1. 点击鼠标右键选择“计算机”,并选择“属性”菜单项1.2. 点击“高级系统设置”链接1.3. 点击“环境变量”按钮 2. 修改“PATH”环境变量 2.1. 选中“系统变量”区域的“PATH”变量2.2. 点击“编辑”按钮2.…

    other 2023年6月27日
    00
  • python中shape的运用

    在Python中,shape是一个用于获取数组或矩阵的形状的函数。在本攻略中,我们将详细讲解如何使用shape,并提供两个示例说明。 使用shape函数 在Python中,shape函数是一个用于获取数组或矩阵的形状的函数。该函数返回一个元组,其中包含数组或矩阵的维度信息。以下是一个示例,演示了如何使用shape函数: import numpy as np …

    other 2023年5月9日
    00
合作推广
合作推广
分享本页
返回顶部