当前位置: 首页 > news >正文

Python网络编程

网络套接字编程

服务端

  • ①创建套接字
  • ②绑定
  • ③监听
  • ④处理

客户端

  • ①创建套接字
  • ②连接
  • ③处理

 

最简单的客户端和服务器端编程

服务端 server.py

import socket

def server():
    #1、创建套接字
    s = socket.socket()
    #2、绑定
    HOST = '127.0.0.1'
    PORT = 6666
    s.bind((HOST,PORT))
    #3、监听
    s.listen(5)
    #4、处理
    while True:
        c,addr = s.accept()
        print('Connect client: ',addr)
        msg = c.recv(1024)
        print('From client: %s'%msg)
        c.send(msg)
    
if __name__ == '__main__':
    server()

客户端client.py

import socket

def client():
    #1、创建套接字
    s = socket.socket()
    #2、连接
    HOST = '127.0.0.1'
    PORT = 6666
    s.connect((HOST,PORT))
    #3、处理信息
    s.send(b'Hello World!')
    msg = s.recv(1024)
    print('From Server: %s'%msg)

if __name__ == '__main__':
    client()


先运行server,再运行client

运行server后首先会等待

运行client

此时server

 

相关文章:

  • CUDA与cuDNN
  • AI中的搜索(一)——启发式搜索 ((贪婪)最佳优先搜索 (Greedy)Best-First Search、A* 、迭代加深搜索 和 IDA* )
  • AI中的搜索(二)——对抗搜索(最小最大搜索Minimax、Alpha-Beta剪枝搜索、蒙特卡洛树搜索MCTS)
  • Web1.0 与 Web2.0 时代
  • HTTP服务器开发项目(Python)
  • IO多路复用(Select,Poll,Epoll)
  • Reactjs jsx
  • HTTP服务器开发项目之基础知识——传输层TCP协议 应用层HTTP协议(http请求报文应答报文详解)
  • 自制简易浏览器(Python)
  • 编译安装linux内核
  • Python中的*args,**kwargs(可变参数)(传参)
  • Python元类 type动态创建类 类装饰器
  • Python内存管理(一)——对象池(小整数池、大整数池、intern机制) 内建属性 属性拦截器
  • Python内存管理(二) —— GC垃圾回收机制(引用计数 隔代回收)
  • Python—md5加密
  • ERLANG 网工修炼笔记 ---- UDP
  • Java 内存分配及垃圾回收机制初探
  • javascript数组去重/查找/插入/删除
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • PHP 的 SAPI 是个什么东西
  • PHP 使用 Swoole - TaskWorker 实现异步操作 Mysql
  • swift基础之_对象 实例方法 对象方法。
  • Swoft 源码剖析 - 代码自动更新机制
  • V4L2视频输入框架概述
  • vagrant 添加本地 box 安装 laravel homestead
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 动手做个聊天室,前端工程师百无聊赖的人生
  • 仿天猫超市收藏抛物线动画工具库
  • 猴子数据域名防封接口降低小说被封的风险
  • 后端_ThinkPHP5
  • 你真的知道 == 和 equals 的区别吗?
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 手写一个CommonJS打包工具(一)
  • 我这样减少了26.5M Java内存!
  • 限制Java线程池运行线程以及等待线程数量的策略
  • 湖北分布式智能数据采集方法有哪些?
  • 积累各种好的链接
  • #pragma data_seg 共享数据区(转)
  • #传输# #传输数据判断#
  • (+4)2.2UML建模图
  • (10)ATF MMU转换表
  • (function(){})()的分步解析
  • (ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY)讲解
  • (二)WCF的Binding模型
  • (论文阅读31/100)Stacked hourglass networks for human pose estimation
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (学习日记)2024.01.19
  • (一)Dubbo快速入门、介绍、使用
  • ******IT公司面试题汇总+优秀技术博客汇总
  • .NET Core引入性能分析引导优化
  • .net framework 4.0中如何 输出 form 的name属性。
  • .NET 除了用 Task 之外,如何自己写一个可以 await 的对象?
  • .netcore 获取appsettings
  • .net分布式压力测试工具(Beetle.DT)
  • .NET国产化改造探索(三)、银河麒麟安装.NET 8环境