基于多进程的Tcp套接字服务器
服务端
import socket
from multiprocessing import Process def task(c):
print('顾客吃点啥')
while True:
data = c.recv(1024)
c.send(data.upper()) if __name__ == '__main__':
s = socket.socket()
s.bind(('127.0.0.1', 16666))
s.listen()
while True:
c, addr = s.accept()
print('来了一位顾客 里面请。。。')
p = Process(target=task,args=(c,))
p.start() 客户端
import socket
c = socket.socket()
c.connect(('127.0.0.1',16666))
while True:
msg = input('>>>>')
if not msg:continue
c.send(msg.encode('utf-8'))
data = c.recv(1024)
print(data.decode('utf-8'))
基于多进程的Tcp套接字服务器的更多相关文章
- 网络编程----socket介绍、基于tcp协议的套接字实现、基于udp协议的套接字实现
		
一.客户端/服务器架构(C/S架构) 即C/S架构,包括: 1.硬件C/S架构(打印机) 2.软件C/S架 ...
 - unix网络编程第四章----基于TCP套接字编程
		
为了执行网络I/O操作.进程必须做的第一件事情就是调用Socket函数.指定期待的通信协议 #include<sys/socket.h> int socket(int family,int ...
 - 网络编程(基于udp协议的套接字/socketserver模块/进程简介)
		
一.基于UDP协议的套接字 TCP是建立可靠连接,并且通信双方都可以以流的形式发送数据.相对TCP,UDP则是面向无连接的协议. 使用UDP协议时,不需要建立连接,只需要知道对方的IP地址和端口号,就 ...
 - Python之路(第三十一篇) 网络编程:简单的tcp套接字通信、粘包现象
		
一.简单的tcp套接字通信 套接字通信的一般流程 服务端 server = socket() #创建服务器套接字 server.bind() #把地址绑定到套接字,网络地址加端口 server.lis ...
 - TCP套接字编程模型及实例
		
摘要: 本文讲述了TCP套接字编程模块,包括服务器端的创建套接字.绑定.监听.接受.读/写.终止连接,客户端的创建套接字.连接.读/写.终止连接.先给出实例,进而结合代码分析. PS:本文权当 ...
 - 网络编程(四)--基于udp协议的套接字、socketserver模块
		
一.UDP协议(数据报协议) 1.何为udp协议 不可靠传输,”报头”部分一共只有8个字节,总长度不超过65,535字节,正好放进一个IP数据包. 以太网头 ip头 ...
 - 网络编程[第二篇]基于udp协议的套接字编程
		
udp协议下的套接字编程 一.udp是无链接的 不可靠的 而上篇的tcp协议是可靠的,会有反馈信息来确认信息交换的完成与否 基于udp协议写成的服务端与客户端,各司其职,不管对方是否接收到信息, ...
 - 网络编程(四)——基于udp协议的套接字socket、socketserver模块的使用
		
基于udp协议的套接字.socketserver模块 一.UDP协议(数据报协议) 1.何为udp协议 不可靠传输,”报头”部分一共只有8个字节,总长度不超过65,535字节,正好放进一个IP数据包. ...
 - TCP套接字编程
		
一.套接字(socket)函数 图1给出了在一个TCP客户与服务器通信的流程.服务器首先启动,稍后某个客户启动,它试图连接到服务器.假设客户给服务器发送一个请求,服务器处理该请求,并且给客户发回一个相 ...
 
随机推荐
- chrome调试技巧和插件介绍
			
14 个你可能不知道的 JavaScript 调试技巧 五种前端开发必备的调试技术 日志的艺术 吐血推荐珍藏的Chrome插件 吐血推荐珍藏的 Chrome 插件(二)
 - axios  在Vue全局引入的方法
			
在main.js中: import axios form axios Vue.prototype.$axios = axios 组件中使用: submitFrom () { this.$axios.g ...
 - Javascript入门(三)函数
			
Javascript函数 一.函数定义与执行 <script type="text/javascript"> //define function fun1(){ ale ...
 - 【Java编程思想笔记】-集合1
			
1.为什么要用集合? 一般情况下,数组是保存一组对象(或基本数据类型)最有效的方式.但是数组有着固定的尺寸,而在更一般的情况下,我们在写程序时不知道将需要保存多少个对象,或者是否需要更复杂的存储结构来 ...
 - 使用@JsonView注解控制返回的Json属性
			
我也是刚看到原来还可以这么玩,但是我还是习惯使用Dto,我总感觉这样做的话实体类耦合程度有点高.还是记录以下,万一今后用到了呢 ⒈在实体类中使用接口来声明该实体类的多个视图. ⒉在实体类的属性get方 ...
 - [Docker]CentOS7通过rpm包安装Docker
			
前几天写过一篇文章:[Docker]CentOS7下Docker安装教程,直接使用yum命令下载Docker即可.但是前提是你需要***,所以这篇文章来讲讲,如果不会***,该如何安装Docker. ...
 - Nest  +  typeorm
			
1\ Nest (https://nestjs.com/) is a framework for building efficient, scalable Node.js web appli ...
 - MySQL DROP TABLE操作以及 DROP 大表时的注意事项【转】
			
删表 DROP TABLE Syntax DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ... [RESTRICT | CASCAD ...
 - python3+selenium入门06-浏览器操作
			
WebDriver主要提供元素操作的方法,但也提供了一些关于浏览器操作的方法,比如设置浏览器大小,浏览器前进,后退,刷新等 设置浏览器大小 有时候需要设置浏览器大小,比如访问收集网页,设置浏览器大小跟 ...
 - 最全的libcurl库资源整理
			
C++ 用libcurl库进行http 网络通讯编程 百度登陆协议分析!!!用libcurl来模拟百度登陆 C++使用libcurl做HttpClient 使用libcurl库进行HTTP的下载 li ...