python中socket网络编程的详细介绍(附示例)

本篇文章给大家带来的内容是关于python中socket网络编程的详细介绍(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

网络通信的三要素

IP

通信的时候, 双方必须知道对方的标识, 好比发邮件必须知道对方的邮件地址。 互联网上每个计算机的唯一标识就是IP地址, 类似 123.123.123.123 。

IP地址实际上是一个32位整数(称为IPv4) , 以字符串表示的IP地址,如 192.168.0.1 实际上是把32位整数按8位分组后的数字表示, 目的是便于阅读。
IPv6地址实际上是一个128位整数, 它是目前使用的IPv4的升级版, 以字符串表示。类似于 2001:0db8:85a3:0042:1000:8a2e:0370:7334 。

端口port

立即学习“Python免费学习笔记(深入)”;

在两台计算机通信时, 只发IP地址是不够的, 因为同一台计算机上跑着多个网络程序。 一个IP包来了之后, 到底是交给浏览器还是QQ, 就需要端口号来区分。

每个网络程序都向操作系统申请唯一的端口号, 这样, 两个进程在两台计算机之间建立网络连接就需要各自的IP地址和各自的端口号。

TCP/UDP协议

为了把全世界的所有不同类型的计算机都连接起来, 就必须规定一套全球通用的协议,大家把互联网的协议简称TCP/IP协议

socket编程

Socket是网络编程的一个抽象概念。 通常我们用一个Socket表示“打开了一个网络链接”, 而打开一个Socket需要知道目标计算机的IP地址和端口号, 再指定协议类型即可。

import socket# socket.gethostname()当不传入参数时,返回本机主机名print(socket.gethostname()) #DESKTOP-EN0LQJH#域名(英语:Domain Name),简称域名、网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称#通过域名查找服务器IP地址print(socket.gethostbyname('www.baidu.com'))    #119.75.216.20#通过一个IPv4的地址来获取主机信息print(socket.gethostbyaddr('114.114.114.114'))#通过IP/port组合,访问服务器信息# 如果是AF_INET则格式为:(address, port),如果为AF_INET6,则返回(address, port, flow info, scope id)print(socket.getaddrinfo('www.xunlei.com',80))

登录后复制

910764585-5bb9dc60ae25d_articlex.png

用socket实现简易的web服务器

import socketdef reply_info(socketObj):    # socketObj.send('ok')    with open('hello.html') as f:        socketObj.send(f.read().encode('utf-8'))if __name__=="__main__":    #1. 创建socket对象    socket_server = socket.socket()    #2. 绑定IP和端口    socket_server.bind(('192.168.1.165',9999))    print("服务器端已经启动9999端口......")    #3. 监听是否有客户端连接    socket_server.listen(5)    while True:        # 4. 接受客户端的连接        socket_client,address = socket_server.accept()        # 5. 接收客户端发来的信息        data = socket_client.recv(1024)        # 6. 与客户端进行交互, 返回给客户端信息        reply_info(socket_server)        socket_server.close()

登录后复制

以上就是python中socket网络编程的详细介绍(附示例)的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2260515.html

(0)
上一篇 2025年2月27日 05:40:51
下一篇 2025年2月22日 17:31:22

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • python中socket实现TCP通信的介绍(附示例)

    本篇文章给大家带来的内容是关于python中socket实现tcp通信的介绍(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 TCP TCP(Transmission Control Protocol 传输控制协议…

    2025年2月27日
    200
  • python中socket实现UDP通信的介绍(附示例)

    本篇文章给大家带来的内容是关于python中socket实现udp通信的介绍(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 UDP TCP是建立可靠连接, 并且通信双方都可以以流的形式发送数据。 相对TCP, U…

    2025年2月27日
    200
  • python中协程实现TCP连接的代码示例

    本篇文章给大家带来的内容是关于python中协程实现tcp连接的代码示例,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 在网络通信中,每个连接都必须创建新线程(或进程) 来处理,否则,单线程在处理连接的过程中, 无法接受其…

    编程技术 2025年2月27日
    200
  • Python实现从序列中移除重复项且保持元素间顺序不变

    本篇文章给大家带来的内容是关于python实现从序列中移除重复项且保持元素间顺序不变,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 1、需求 我们想去除序列出现的重复元素,但仍然保持剩下的元素的顺序不变。 如果只是想要去重…

    编程技术 2025年2月27日
    200
  • Python实现对切片命名的方法

    本篇文章给大家带来的内容是关于python实现对切片命名的方法,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 1、需求 我们的代码已经变得无法阅读,到处都是硬编码的切片索引,我们想优化他们。 2、解决方案 代码中如果有很多…

    编程技术 2025年2月27日
    200
  • 现在学Python能做什么?学完Python可以当黑客吗

    大家都知道,python的功能有很多,不仅能满足自动化的要求,还能满足后端技术的要求,因此python在很多程序员眼中都是比较受欢迎的。那么现在学python能做什么?下面我们来总结一下学完python可以当黑客吗? 一:现在学Python…

    2025年2月27日
    200
  • (收藏)Python操作Redis的全面总结

    本篇文章给大家带来的内容是关于(收藏)python操作redis的全面总结,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 一、字符串 strings Python操作Redis的redis模块对字符串(string)的主要…

    编程技术 2025年2月27日
    200
  • 零基础可以学习Python中的爬虫知识吗?(新手必看)

    本篇文章给大家带来的内容是关于零基础可以学习python中的爬虫知识吗?(新手必看),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 在最近几年,人工智能被炒得越来越火热,毕竟像无人驾驶、指纹识别等等不断的渗透到我们的生活。…

    2025年2月27日
    200
  • Python+OpenCV图像风格迁移的实现方法讲解

    本篇文章给大家带来的内容是关于python+opencv图像风格迁移的实现方法讲解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 现在很多人都喜欢拍照(自拍)。有限的滤镜和装饰玩多了也会腻,所以就有 APP 提供了 模仿名…

    2025年2月27日 编程技术
    200
  • Python访问限制私有还是公有的介绍(附示例)

    本篇文章给大家带来的内容是关于python访问限制私有还是公有的介绍(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 一、知识点 在一个模块中,我们可能会定义很多函数和变量。但有的函数和变量我们希望能给别人使用,有…

    编程技术 2025年2月27日
    200

发表回复

登录后才能评论