python gui界面 tcp_通过python实现TCP编程
伪代码:
ss = socket() #创建服务器套接字
ss.bind() #把地址绑定到套接字上
ss.listen() #监听连接(最大连接数)
info_loop: #服务器无限循环
cs = ss.accept() #接受客户端连接
comm_loop: #通信循环
cs.recv()/cs.send() #对话(接收/发送)
cs.close() #关闭客户端套接字
ss.close() #关闭服务器
所有的套接字都用socket.socket()函数来创建,服务器需要“坐在某个端口上“等待请求”所以它们必须要“绑定”到一个本地地址上,
由于TCP是一个面向连接的通信系统,在TCP服务器开始工作之前,要先完成一些设置,TCP服务器必须“监听”连接,设置完成之后服务器
就可以进入无限循环了。
一个简单的“单线程”服务器会调用accept()函数等待连接的到来,默认情况下accept()函数是阻塞的,即程序在连接到来之前会处于挂起状态,
套接字也支持非阻塞模式。
一旦接收到一个连接,accept()函数就会返回一个单独的客户端套接字用于后续的通信。
简单的TCP服务器
代码如下
#!/usr/bin/env python3#-*- coding:utf-8 -*-
from socket import *
from time importctime
host= ''port= 12345buffsize= 2048ADDR=(host,port)
tctime=socket(AF_INET,SOCK_STREAM)
tctime.bind(ADDR)
tctime.listen(3)whileTrue:print('Wait for connection ...')
tctimeClient,addr=tctime.accept()print("Connection from :",addr)whileTrue:
data=tctimeClient.recv(buffsize).decode()if notdata:breaktctimeClient.send(('[%s] %s' %(ctime(),data)).encode())
tctimeClient.close()
tctimeClient.close()
TCP客户端代码:
#!/usr/bin/env python3#-*- coding:utf-8 -*-
from socket import *HOST='localhost'PORT= 12345BUFFSIZE=2048ADDR=(HOST,PORT)
tctimeClient=socket(AF_INET,SOCK_STREAM)
tctimeClient.connect(ADDR)whileTrue:
data= input(">")if notdata:breaktctimeClient.send(data.encode())
data=tctimeClient.recv(BUFFSIZE).decode()if notdata:break
print(data)
tctimeClient.close()
note:
如果实在ubuntu下面做练习,需要在防火墙上添加allow条目,具体命令是
ufw allow 12345/tcp
也可以直接关闭防火:
ufw disable
python gui界面 tcp_通过python实现TCP编程相关推荐
- python gui界面 tcp_带Tkinter GUI的Twisted TCP服务器
最近我一直在尝试使用Twisted(python库)来制作TCP聊天服务器/客户端.我让服务器运行得很好,但是当我试图向服务器添加基于Tkinter的GUI时,事情变得很奇怪.一旦用户连接到服务器,就 ...
- python tkinter库、添加gui界面_使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)...
使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二),创建一个,界面,布局,文件,路径 使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二) ...
- Python GUI界面编程-初识
图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面.与早期计算机使用的命令行界面相比,图形界面对于用户来说在视觉上 ...
- 【GUI界面】基于Python的WSG84三点定位系统(经纬度坐标与平面坐标转换法求解)
[GUI界面]基于Python的WSG84三点定位系统(经纬度坐标与平面坐标转换法求解) 方法汇总: blog.csdn.net/weixin_53403301/article/details/128 ...
- Python基础笔记_Day14_Python图形化界面、Python GUI、tkinter、Python英汉词典
Day14_Python图形化界面.Python GUI.tkinter.Python英汉词典 14.01_Python语言基础(Python实现英汉字典)(掌握) 14.02_Python语言基础( ...
- python前端界面实现交互,python的交互模式是什么
如何进入python交互界面 Python交互模式有两种:图形化的交互模式或者命令行的交互模式.打开步骤:首先点击开始菜单. 然后在搜索栏中输入Python,即可看到图形化的交互模式(IDLE(Pyt ...
- Python GUI界面编程初步 05- GUI框架PyQt的运用 - 01 PyQt的详细安装和基本使用
前言: 在01节里面,我们简单的讨论了一下各个GUI框架的优劣.PyQt作为一个传统的GUI的兼容工具,对拖拽来设计GUI的开发来说是极其方便和简单的. 1 简介: PyQt connects the ...
- Python GUI界面编程初步 02 - Tkinter基础
前言: 前一篇我们大致介绍了Python编程的几个常用的GUI的工具和库.现在我们开始用其中的几个进行GUI设计. 考虑到,现在有一个项目包括传统的GUI编程,同时客户需要比较完备的图形显示,而这个又 ...
- Python GUI界面编程初步 01 - GUI库的特点和选择
1 Python 的常用GUI库和特点 Tkinter: Tkinter 模块(Tk 接口)是 Python 的标准 Tk GUI 工具包的接口 .Tk 和 Tkinter 可以在大多数的 Unix ...
最新文章
- Nature重磅:管轶等发现穿山甲是SARS-CoV-2的中间宿主
- ChubaoFS:一个面向大规模容器平台的分布式文件系统
- JS ===和==区别
- 地面控制点的定义与作用_彩色透水混凝土路面在海绵城市建设中能起多大作用?...
- pdf转swf linux,Linux环境安装配置Swftools,pdf转swf工具
- 响应式mysql_Spring Data R2DBC响应式操作MySQL
- 测试ips显示器的软件,IPS屏幕显示测试
- oracle快照点,Oracle快照(snapshot)管理
- 使用Vue+DataV+ECharts打造新冠肺炎疫情数据大屏(可动态刷新)
- android 图片 色温,屏幕色温测试及测试结果
- excel表格末尾添加一行_Excel表格制作在添加数据之后可以自动更新的汇总表
- Workbook 对象 应用示例
- IDT7206简明资料
- 从Dinic到ISAP,从余流推进到最高标号的预留推进HLPP(究极最大流算法)
- python爬虫二级子页面爬取
- h5 rtmp推荐控件_RTMP H5 直播流技术解析
- 如何写软件测试人员的周报(或日报)
- 将tomcat源码以maven方式运行
- 关于戴尔笔记本电脑操作中突然卡死初始化存储,自我检查然后卡兹一声的解决方法
- 区块链游戏的正名之路:从庞氏骗局,到道具确权