Python socket day4
TCP(较UDP麻烦但安全)
- 服务器和客户端区分的很明白
- TCP客户端比起UDP多个连接服务器
- TCP服务端
- socket创建一个套接字
- 一定要绑定IP和端口,就跟110一样,是固定的让人随时能知道
- listen使套接字变成可以被动链接
(一般为128,可能会稍微影响同一时刻的客户端的接入数量,但最终接入数量还是由操作系统决定) - accept等待客户端的链接
这兄弟有返回值,会返回一个元组(一个新的套接字,地址)
而且堵塞,直到有人链接进来 - recv/send接受发送数据
# 因为之前已知IP和端口,所以新的套接字就是数据,不是元组(结合 程序02)
- 循环为多个客户端服务
在哪个地方加 while ?
在 accept 前加循环 为循环为多个客户端服务
在 recv 前加循环,在为多个客户服务时,循环为一个客户服务
如果客户端解堵塞有两种原因:- 对方发送数据 ,所以 recv 便解堵塞
- 对方调用了 close() 也会
当调用 close() 时 可以判断数据是否为空 如果为空便为调用close() (断开连接或退出)
Python socket day4的更多相关文章
- Python Socket 编程——聊天室示例程序
上一篇 我们学习了简单的 Python TCP Socket 编程,通过分别写服务端和客户端的代码了解基本的 Python Socket 编程模型.本文再通过一个例子来加强一下对 Socket 编程的 ...
- Python Socket 网络编程
Socket 是进程间通信的一种方式,它与其他进程间通信的一个主要不同是:它能实现不同主机间的进程间通信,我们网络上各种各样的服务大多都是基于 Socket 来完成通信的,例如我们每天浏览网页.QQ ...
- python socket发送魔法包网络唤醒开机.py
python socket发送魔法包网络唤醒开机.py 现在的电脑应该都普遍支持有线网络的WOL了,支持无线网络唤醒的电脑,可能比较少. """ python socke ...
- Python socket编程之二:【struct.pack】&【struct.unpack】
import struct """通过 socket 的 send 和 recv 只能传输 str 格式的数据""" "" ...
- Python Socket,How to Create Socket Server? - 网络编程实例
文章出自:Python socket – network programming tutorial by Silver Moon 原创译文,如有版权问题请联系删除. Network programin ...
- Python Socket,How to Create Socket Cilent? - 网络编程实例
文章出自:Python socket – network programming tutorial by Silver Moon 原创译文,如有版权问题请联系删除. Network programin ...
- Python Socket通信原理
[Python之旅]第五篇(一):Python Socket通信原理 python Socket 通信理论 socket例子 摘要: 只要和网络服务涉及的,就离不开Socket以及Socket编 ...
- Python Socket单线程+阻塞模式
Python之旅]第五篇(二):Python Socket单线程+阻塞模式 python Socket单线程 Socket阻塞模式 串行发送 摘要: 前面第五篇(一)中的一个Socket例子其实就是 ...
- python socket之tcp服务器与客户端demo
python socket之tcp服务器与客户端demo 作者:vpoet mails:vpoet_sir@163.com server: # -*- coding: cp936 -*- ''' 建立 ...
随机推荐
- Nginx配置服务器宕机策略
Nginx解决服务器宕机问题,Nginx配置服务器宕机策略,如果服务器宕机,会找下一台机器进行访问 配置nginx.cfg配置文件,在映射拦截地址中加入代理地址响应方案 location ...
- RN开发-Navigator
1.在入口组件render方法中返回<Navigator> let defaultName = 'Welcome'; let defaultCo ...
- 打开一个网站,加载顺序是什么?先加载HTML然后JS然后CSS?还是什么?
HTML页面加载和解析流程 : 1. 用户输入网址(假设是个html页面,并且是第一次访问),浏览器向服务器发出请求,服务器返回html文件. 2. 浏览器开始载入html代码,发现<head& ...
- Jupyter Notebook快捷键总结
1. Jupyter Notebook有两种mode Enter:进入edit模式 Esc:进入command模式 2. Command命令快捷键: A:在上方增加一个cell B:在下方增加一个ce ...
- VJ数论专题AC代码临时保存
//A #include<bits/stdc++.h> using namespace std; bool vis[1000010]; void Get_Prime() { int n = ...
- 题解【AcWing176】装满的油箱
题面 一开始拿到这个问题并不好做,于是考虑拆点. 考虑将一个点拆成 \(c+1\) 个,每个点表示(编号,剩余油量). 然后 \(\text{Dijkstra}\) 最短路即可. 每次跑 \(\tex ...
- [luogu3950] 部落冲突 - Link Cut Tree
有了LCT这不就是思博题了吗 #include <bits/stdc++.h> using namespace std; const int N = 1000000; int n,m,t1 ...
- MyEclipse设置不编译js部分
https://jingyan.baidu.com/album/ca41422fe094251eae99ede7.html?picindex=1 步骤: 1)选中当前工程,右键单击properties ...
- 载 js验证密码 必须由大小写字母、数字和特殊字符组成
转自:https://blog.csdn.net/weixin_43824935/article/details/93601064 密码长度8-16位 必须由大写字母,小写字母,数字,特殊符号组成 正 ...
- STL 萃取(Traits)机制剖析
模板特化 在将萃取机制之前,先要说明模板特化 当有两个模板类,一个是通用泛型模板,一个是特殊类型模板,如果创建一个特殊类型的对象,会优先调用特殊的类型模板类,例如: template <type ...