iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python之怎么使用socket
  • 210
分享到

python之怎么使用socket

2023-06-01 23:06:15 210人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

本篇内容主要讲解“python之怎么使用Socket”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Python之怎么使用socket”吧!01:OSI模型1)OSI模型包括应用层、表示层、会话层

本篇内容主要讲解“python之怎么使用Socket”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习Python之怎么使用socket”吧!

01:OSI模型

1)OSI模型包括应用层、表示层、会话层、传输层、网络层、数据链路层、物理层这7层。常用的主要是应用层和传输层,其余就不一一介绍。

2)应用层:网络服务和一些终端的应用。比如Http协议、FTP协议

3)传输层:定义了一些传输数据的协议和端口号。如UDP协议、tcp协议

02:网络通信三要素(IP地址、端口号、传输协议)

1)IP地址:表示网络上一台 独立的主机 ; IP地址=网络地址+主机地址。其中特殊的IP地址:127.0.0.1(本地回环地址),表示本机

2)端口号:用于标识进程的逻辑地址;不同的进程都有不同的端口标识。

3)传输协议:通讯的规则。

①UDP:用户数据报协议。面向无连接,传输数据之前源端和目的端不需要建立连接。如实时在线聊天、视频会议等

②TCP:传输控制协议。面向连接,传输数据之前需要建立连接。在连接过程中进行大量数据传输,通过“三次握手”的方式完成连接,是安全可靠协议。传输速度慢效率低

03:TCP三次握手

1)TCP建立连接时要传输三个数据包,俗称三次握手(Three-way Handshaking)通俗的理解为:

套接字A:“你好,套接字B,我这里有数据要传送给你,建立连接吧。”套接字B:“好的,我这边已准备就绪。”套接字A:“谢谢你受理我的请求。”

2)三次握手完成,TCP客户端和服务器端成功地建立连接,可以开始传输数据了。

04:socket通信流程

1)创建服务端socket对象。对象创建时,需要绑定它的IP地址(IPv4或Ipv6)和协议(TCP或UDP)。 bind()绑定本机IP地址和端口号,listen()启动监听等待客户端发送的请求。至此服务端建立完成。

2)创建服务端socket对象。根据服务端IP地址和端口号试图连接服务端socket端。

3)服务端监听接收accept()到客户端发送的请求,建立与客户端的连接connect()。

4)连接建立后,客户端可以发送send()数据到socket对象中,服务端可以接收recv()到客户端发送的数据。

5)服务端处理数据后,可以向socket对象返回一个send()处理结果,客户端读取recv()到这个返回结

6)客户端关闭close()连接,客户端释放当前占用的客户端端口号

7)服务端收到客户端关闭消息后,关闭与客户端的连接

05:socket常用方法

1)概述:又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯。

2)方法分类:服务端套接字、客户端套接字、公共用途套接字

①服务端:bind、listen、accept

②客户端:connet等

③公共端:recv、send、sendall、close等

3)注意事项:socket进入阻塞状态,即 accept()方法一直等到客户端返回连接信息后才返回,开始接收下一个客户端连接请求

06:服务端与客户端的简单通信

发送数据:通过bytes类型进行传输,需要通过bytes(sendData)转换

接收数据:通过str类型接收,需要通过str(client_data)转换

accept():接受并建立与客户端的连接,程序在此处开始阻塞,只有到客户端连接起来。

#服务端代码 import socket sk=socket.socket()#创建服务端socket对象 ip_port=('127.0.0.1',13008)sk.bind(ip_port)#绑定IP地址和端口号 sk.listen(5)#开始监听是否有请求:同时最多允许有5个连接 print('等待客户端的连接')#释放信号 coon,addr=sk.accept()#连接成功后会返回一个新的套接字和客户端地址 print('客户端新的连接:',addr)client_data=coon.recv(1024)#接收数据:一次性接收1024字节 print(str(client_data,encoding='utf8'))sendData=input('请输入>>>')coon.sendall(bytes(sendData,encoding='utf8'))#发送数据 coon.close()#关闭资源 sk.close()
#客户端代码 import socket sk=socket.socket()#创建客户端socket对象 ip_port=('127.0.0.1',13008)sk.connect(ip_port)#发起连接 sendData=input('请输入>>>')sk.sendall(bytes(sendData,encoding='utf8'))#发送数据:通过bytes类型进行传输 sever_data=sk.recv(1024)#接收数据:一次性接收1024字节 print(str(sever_data,encoding='utf8'))#接收数据:通过str类型来接收 sk.close()

到此,相信大家对“python之怎么使用socket”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: python之怎么使用socket

本文链接: https://www.lsjlt.com/news/228064.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python之怎么使用socket
    本篇内容主要讲解“python之怎么使用socket”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python之怎么使用socket”吧!01:OSI模型1)OSI模型包括应用层、表示层、会话层...
    99+
    2023-06-01
  • python之socket
    python之socket一、初识socket        socket 是网络连接端点,每个socket都被绑定到一个特定的IP地址和端口。IP地址是一个由4个数组成的序列,这4个数均是范围 0~255中的值(例如,220,176,36...
    99+
    2023-01-31
    python socket
  • Python的socket与socketserver怎么使用
    这篇“Python的socket与socketserver怎么使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python...
    99+
    2023-06-30
  • linux socket怎么使用
    本篇内容介绍了“linux socket怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!socket又称套接字,是Linux跨进程通信...
    99+
    2023-06-29
  • python socket之udp说明
    UDP方式UDP 号称无连接传输,全然没有TCP那么复杂,三次握手,错误重传之类的机制都没有,发的只管发,收得只管收,收到没有?不知道,顺序不对怎么办?不管!就是 这样,但是速度就要比TCP高得多了。在对数据帧要求不是很高的地方,这确实是很...
    99+
    2023-01-31
    python socket udp
  • Python Raw Socket使用示
    import sys import time import socket import struct import random def SendPacketData (Buffer = None , DestIP = "127.0...
    99+
    2023-01-31
    Python Raw Socket
  • java中socket怎么使用
    在Java中使用Socket进行网络通信可以分为服务端和客户端两部分。服务端:1. 创建ServerSocket对象,并指定端口号。...
    99+
    2023-09-23
    java
  • python网络-Socket之TCP编
    一、TCP简介 1、TCP介绍 TCP协议,传输控制协议(英语:Transmission Control Protocol,缩写为 TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议。 TCP通信需要经过创建连接、数据传送、终止...
    99+
    2023-01-31
    网络 python TCP
  • JAVA之Socket编程方法怎么用
    这篇文章主要介绍了JAVA之Socket编程方法怎么用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇JAVA之Socket编程方法怎么用文章都会有所收获,下面我们一起来看看吧。一、Socket知识1. Sock...
    99+
    2023-07-04
  • python socket 编程之三:长
    长连接:开启一个socket连接,收发完数据后,不立刻关闭连接,可以多次收发数据包。 短连接:开启一个socket连接,收发完数据后,立刻关闭连接。 心跳:长连接在没有数据通信时,定时发送数据包(心跳),以维持连接状态。 在pyt...
    99+
    2023-01-31
    之三 python socket
  • Python之Socket自动重连
    参考:https://www.cnblogs.com/MikeZhang/p/pythonTcpReconnect20170701.html 问题描述 现有一个tcp客户端程序,需定期从服务器取数据,但由于种种原因(网络不稳定等)...
    99+
    2023-01-31
    Python Socket
  • Python socket 模块的使用
    一、使用socket实现一对一的简单通信  socket就是一个开往网络应用必备的功能模块。通过这个模块我们可以自己写程序的server端和client端,可以自己定义server端对外提供服务器的ip地址和端口。学会使用这个模块的之后我们...
    99+
    2023-01-31
    模块 Python socket
  • Python中怎么用socket()函数
    这篇文章主要介绍了Python中怎么用socket()函数的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python中怎么用socket()函数文章都会有所收获,下面我们一起来看看吧。什么是 SocketSoc...
    99+
    2023-06-08
  • 怎么在python中使用socket连接客户端
    本篇文章给大家分享的是有关怎么在python中使用socket连接客户端,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。Python的优点有哪些1、简单易用,与C/C++、Jav...
    99+
    2023-06-14
  • Python中怎么使用Socket实现网络编程
    本篇文章为大家展示了Python中怎么使用Socket实现网络编程,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Socket:套接字套接字好比电话的插口,主机和端口就好比区号和电话号码,主机:是你要...
    99+
    2023-06-17
  • python的socket库如何使用
    Python的socket库是用于网络通信的标准库,可以进行网络编程。下面是一个使用socket库的简单示例:```pythonim...
    99+
    2023-10-10
    python socket
  • socket怎么用
    这篇文章给大家分享的是有关socket怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。在使用中,都用约定使用数据的传输格式等等。见代码Socket socket = new Socket();//new a ...
    99+
    2023-06-03
  • 怎么使用mysql的socket文件
    本篇内容介绍了“怎么使用mysql的socket文件”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成! Un...
    99+
    2024-04-02
  • C#之Socket通信怎么实现
    这篇文章主要介绍“C#之Socket通信怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“C#之Socket通信怎么实现”文章能帮助大家解决问题。一、socket是什么Socket是应用层与TC...
    99+
    2023-06-30
  • python--socket用法
    服务器端:import SocketServerimport osclass MyTCPHandler(SocketServer.BaseRequestHandler):    def handle(self):        print ...
    99+
    2023-01-31
    python socket
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作