网络编程socket

网络编程中socket

Python 提供socket 类,通过实例化一个socket 对象,来进行不通主机之间的通信。通常分为server端和client端,通讯方式有TCP和UDP,在服务端开启监听s.listen并设置最搭连接数 ,可以监听主机和端口的状态,服务器端监听本机的端口使用s.bind进行绑定。在服务器监听端口的状态下,如果服务器接受连接,需使用s.accept进行接受客户端的连接,会获取客户端的hostname 和端口号。客户端可以向服务器端指定端口进行连接,如果指定的主机为域名,则需要通过DNS 查询,也可以指定IP地址,端口为服务器端的监听端口,连接时,客户端通过任意端口去连接(应该也可以指定端口)。服务器端和客户端连接成功以后,服务器和客户端可以进行数据交互,通过send和recv进行数据发送和接受(UDP连接,需要使用sendto/sendall[单播和组播,或者广播]和recvfrom),返回的数据再进一步处理。使用s.close进行关闭交互通道,以防安全问题。在连接期间可以使用getpeerhost获取对端的hostname 和端口,使用getsockname获取本端的hostname 和端口,一般返回形式为(IP,port)的元组。

参考

http://www.runoob.com/python/python-socket.html

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、概念 首先,理清一些概念 TCP/IP和UDP,HTTP协议,Socket 1.TCP/IP和UDP,是网络中...
    _AJH阅读 4,257评论 0 18
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,841评论 18 139
  • 计算机网络概述 网络编程的实质就是两个(或多个)设备(例如计算机)之间的数据传输。 按照计算机网络的定义,通过一定...
    蛋炒饭_By阅读 1,241评论 0 10
  • 一、网络编程的主要问题: 如何准确的定位网络上一台或者多台主机 找到主机后如何可靠高效的传输数据 二、TCP( T...
    YigeOr阅读 429评论 0 0
  • https://nodejs.org/api/documentation.html 工具模块 Assert 测试 ...
    KeKeMars阅读 6,366评论 0 6