广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python Socket模块
  • 786
分享到

python Socket模块

模块pythonSocket 2023-01-30 23:01:22 786人浏览 八月长安

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

摘要

  UDP:   from Socket import * import struct send_data = struct.pack('!H8sb5sb',1,'test.jpg',0,'octet',0) ========>利

 

UDP:

 

from Socket import *

import struct

send_data = struct.pack('!H8sb5sb',1,'test.jpg',0,'octet',0) ========>利用pack可以规定发送的某个字符串占用几个字节(可以用于构造数据包头数据,比如数据包头规定某一个字段必须为4个字节,而实际该字段内容只有一个‘1’,此时可以利用这个强行规定‘1’占4个字节)

recv_data = struct.unpack('!HH','接收到的数据') ========>相应的可以用unpack来解除这种限制。

udp_socket = socket(AF_INET,SOCK_DGRAM)  =========>创建一个UDP套接字

udp_socket.bind(('',9999))   ===========>将该套接字绑定到指定IP和端口(IP不写代表全部)。

udp_socket.sendto(b'haha',('10.65.1.27',8888)) =======> 发送数据(注意:python3中要发送的数据需为二进制形式或者经过编码的字符串(例:'haha'.encode('utf-8')))。

udp_socket.sendto(send_data,('10.65.1.27',8888))

print(udp_socket.recvfrom(1024))

 

 

TCP:

 

 

服务端:

from socket import *

server_socket = socket(AF_INET,SOCK_STREAM)

server_socket.bind('',8899)

server_socket.listen(5) ======>走到这一步tcp状态已经可以达到ESTABLISHED了,且ESTABLISHED状态的最大量为5,再有用户连接过来时则不再发送回包。

client_socket,client_info = server_socket.accept() =====>TCP服务器每收到一个client链接都会生成一个新的套接字(client_socket)来为其(client_info指向该client的基本信息)服务,主socket继续等待新的客户到来。

(注意:子套接字变量名不能重复使用,每跟一个新用户连接需生成一个新的子套接字名字)(注意:只要有足够的accept就可以无视listen的值,有多少accept就可以有多少ESTABLISHED)

while 1 :

    data = client_socket.recv(1024) ======>服务器端接收数据

    #client_socket.connect(client_info)  =======>如果服务器想要给客户端回数据则不必再主动连接客户端(因为已经与客户端建立连接,直接发数据即可)

    client_socket.send(data)  ========>向客户端发送数据

    print(data)

client_socket.close()

server_socket.close()

 

 

客户端:

from socket import *

client_socket = socket(AF_INET,SOCK_STREAM)

client_socket.connect(('192.168.1.1',8899))

while 1 :

    client_socket.send(input('发送的内容').encode('utf-8'))

    client_socket.recv(1024) =====>由于全双工该socket也可用来接收数据

client_socket.close()

 

--结束END--

本文标题: python Socket模块

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

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

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

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

下载Word文档
猜你喜欢
  • python Socket模块
      UDP:   from socket import * import struct send_data = struct.pack('!H8sb5sb',1,'test.jpg',0,'octet',0) ========>利...
    99+
    2023-01-30
    模块 python Socket
  • Python 中的 socket 模块
    本文参考PYTHON 网络编程 第一章import sockethelp(socket)    Functions:    socket() -- create a new socket object    socketpair() -- ...
    99+
    2023-01-31
    模块 Python socket
  • Python socket 模块的使用
    一、使用socket实现一对一的简单通信  socket就是一个开往网络应用必备的功能模块。通过这个模块我们可以自己写程序的server端和client端,可以自己定义server端对外提供服务器的ip地址和端口。学会使用这个模块的之后我们...
    99+
    2023-01-31
    模块 Python socket
  • python模块介绍- socket(1
    底层的socket库可以直接访问本地Csocket库并且可与任何网络服务通信。select同时监控多个sockets,支持网络服务和多个客户端通信。 SocketServer框架抽象了很多创建网络服务器的重复工作。该类来可以使用f...
    99+
    2023-01-31
    模块 python socket
  • Python中的socket网络模块介绍
    目录Socket服务端(server.py)客户端(client.py)socket中的一些常用方法Socket 对象(内建)方法Python Internet 模块前言: Pyth...
    99+
    2022-11-11
  • python模块:smtplib模块
    1.使用本地的sendmail协议进行邮件发送格式(1):smtpObj=smtplib.SMTP([host [,port [,local_hostname]]])host:SMTP服务器主机的IP地址或者是域名port:服务的端口号(默...
    99+
    2023-01-31
    模块 python smtplib
  • Python模块:time模块
    time模块:python中处理时间的基础模块,有时间戳,元组,自定义,三种时间表现形式。python中时间戳的值是以1970年1月1日0点开始计算的,单位是秒。时间戳:就是两个时间差的数值。时区:传说中在开发服务器/客户端程序时,时区不一...
    99+
    2023-01-31
    模块 Python time
  • Python的socket模块源码中的一些实现要点分析
    BaseServer 和 BaseRequestHandler Python为网络编程提高了更高级的封装。SocketServer.py 提供了不少网络服务的类。它们的设计很优雅。Python把网络服务抽象...
    99+
    2022-06-04
    要点 源码 模块
  • 使用Python模块:struct模块
    Python没有提供直接的将用户定义的数据类型和文件IO关联起来的功能,但是它提供了struct库(是一个内置库)——我们可以以二进制模式来写这些数据(有趣的是,它真的是设计来讲文本数据写为缓存的) 1)bytes、str...
    99+
    2023-01-31
    模块 Python struct
  • python模块学习----nmap模块
    安装nmap模块:pip install python_nmanmap模块说明:python-nmap是一个帮助使用nmap端口扫描器的python库。它允许轻松操纵nmap扫描结果,并且将是一个完美的选择,为需要自动完成扫描任务的系统管理...
    99+
    2023-01-31
    模块 python nmap
  • python加密模块-hashlib模块
    hashlib模块 用于加密相关的操作,3.X里代替了md5模块和sha模块,主要提供SHA1,SHA224,SHA256,SHA384,SHA512,MD5算法 (sha比md5 更复杂、md5 不能反解) 具体应用:用于网站防篡改。具...
    99+
    2023-01-31
    模块 python hashlib
  • Python模块
    初步认识 安装完python后,python自带一部分模块,自带的模块又称作内置模块。其中一部分模块在路径Lib下。(这里的文件夹可以看做包,可以把多个模块放进一个包里) 从模块的来源来讲,可以分三种:内置模块、自定义模块(自己定义的)...
    99+
    2023-01-30
    模块 Python
  • python - 模块
    参考:https://www.cnblogs.com/nulige/p/6166205.html一、模块介绍Python Module(模块),就是一个保存了Python代码的文件。模块能定义函数,类和变量。模块里也能包含可执行的代码。文件...
    99+
    2023-01-31
    模块 python
  • python 模块
    python的模块分为2种:1.标准库(不需要安装,直接导入就可以使用的)2.第三方库(必须要手动安装的)先来介绍2个标准库:sys和os#!/usr/bin/env python# coding: utf-8...
    99+
    2023-01-30
    模块 python
  • python-模块
    一:模块的基本认识: 内置模块 内置模块是python自带的功能,在使用内置模块相应功能时,需要先导入再使用    第三方模块 下载-->安装-->使用 1.找到python所在的根目录-->再找到Scrip...
    99+
    2023-01-31
    模块 python
  • Python基础之hashlib模块subprocess模块logging模块
    目录一、hashlib模块基本操作与用法二、subprocess模块简介基本操作与用法三、logging模块简介基本操作与用法一、hashlib模块 什么是哈希模块: hashlib...
    99+
    2022-11-11
  • Python中的sys模块、random模块和math模块
    一、sys运行时环境模块 sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python的运行时环境。 用法: sys.argv:命令行参数List,第...
    99+
    2022-11-11
  • python常见模块之OS模块和time模块
    一、OS模块概述 Python OS模块包含普遍的操作系统功能。如果你希望你的程序能够与平台无关的话,这个模块是尤为重要的。 二、常用方法 三、OS模...
    99+
    2022-11-12
  • Python的Asyncore异步Socket模块及实现端口转发的例子
    Asyncore模块提供了以异步的方式写入套接字服务客户端和服务器的基础结构。 只有两种方式使一个程序在单处理器上实现“同时做不止一件事”。多线程编程是最简单和最流行的方式,但是有另一种很不一样的技术,可以...
    99+
    2022-06-04
    端口 模块 例子
  • Python时间模块之datetime模块
    目录 简介 函数介绍及运用 date:日期类 1.获取当前时间  2.日期对象的属性 3.date类中时间和时间戳的转换: 4.修改日期使用replace方法  time:时间类  time类操作 datetime:日期时间类 timede...
    99+
    2023-09-12
    python datetime python 日期时间
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作