python_day9 多进程socket

基于多进程 server 端 同时处理多个socket客户端

from multiprocessing import Processfrom socket import *import timeserver=socket(AF_INET,SOCK_STREAM)server.setsockopt(SOL_SOCKET,SO_REUSEADDR,1)server.bind((‘127.0.0.1‘,80))server.listen(5)def sock_server(conn,addr):    while True:        try:            data=conn.recv(1024)            if not data:continue            print(data.decode(‘utf-8‘))            conn.send(data.upper())        except Exception as e:            print(e)            break#     conn.close()# server.close()if __name__ == ‘__main__‘:    while True:        conn,addr=server.accept()        p1=Process(target=sock_server,args=(conn,addr))        p1.start()
时间: 2024-10-25 02:48:13

python_day9 多进程socket的相关文章

c++ 网络编程(二)TCP/IP linux 下多进程socket通信 多个客户端与单个服务端交互代码实现回声服务器

原文作者:aircraft 原文链接:https://www.cnblogs.com/DOMLX/p/9612820.html LINUX下: 一.服务端代码 下面用了多个close来关闭文件描述符,可能有的小伙伴会有疑惑....我就说一句,创建进程的时候会把父进程的资源都复制 一份,而你这个子进程只需要保留自己需要处理的资源,其他的自然要关闭掉, 不然父亲一个儿子一个 待会打起来怎么办  嘿嘿 注意了:就像进程间的通信需要属于操作系统的资源管道来进行,套接字也属于操作系统,所以创建新进程也还是

多进程socket模型

每有一个客户端接入,服务端就生成一个进程对客户端提供服务,当客户端很多时,会消耗大量系统资源. from socket import * import time import os import sys   def client_deal(client,client_info): while True: msg = client.recv(1024) if msg == '': client.close() break   print 'recv=',msg, 'from:',client_in

python网络编程socket (一)

提起网络编程,不同于web编程,它主要是C/S架构,也就是服务器.客户端结构的.对于初学者而言,最需要理解的不是网络的概念,而是python对于网络编程都提供了些什么模块和功能.不同于计算机发展的初级阶段,程序员走到今天,已经脱离了手工打造一切,要自己实现所有细节的年代.现在提倡的是不要重复造轮子,而是学习别人的轮子怎么用,只有那些有需求或能专研的人才去设计轮子甚至汽车,so,这是一个速成的年代. 因此,对于一个面向工作的python程序员,学习python的网络编程,其实学的就是那么几个模块,

socket入门

对于一个初学者来说,写代码是痛苦的,写不会的代码更痛苦,然后对于网上残次不齐的源码,blog不懂怎么实现痛上加痛. 本文仅仅站在入门基础上写SOCKET代码,并且代码非原创. 1.怎么建工程 VS编译器:文件->新建->项目; 大概是这样. 然后是名称随便,然后下一步,完成. 大概是这样. 注意那个 #include “stdafx.h" 基本上 你用win32控制台写代码都需要这个头文件. 代码引用这个博客:http://blog.csdn.net/orange_xxx/artic

php socket 模型及效率问题

// 创建套接字 socket_create(); // 绑定 socket_bind(); // 监听 socket_listen(); // 主体, 死循环 while(true){ // select模型, 取出可读套接字列表 socket_select(); foreach(sockets) { // 如果是监听连接请求端口的套接字 if(is listensocket) { // 接受请求 socket_accept(); } else { // 读取封包 socket­_recv()

php多进程总结

本文部分来自网络参考,部分自己总结,由于一直保存在笔记中,并没有记录参考文章地址,如有侵权请通知删除.最近快被业务整疯了,这个等抽时间还需要好好的整理一番. 多进程--fork 场景:日常任务中,有时需要通过php脚本执行一些日志分析,队列处理等任务,当数据量比较大时,可以使用多进程来处理. 准备:php多进程需要pcntl,posix扩展支持,可以通过 php - m 查看,没安装的话需要重新编译php,加上参数--enable-pcntl,posix一般默认会有. 注意:  多进程实现只能在

python网络基础_socket

利用基本的Socket 通信,模仿远程cmd命令: Server import socket sk = socket.socket() sk.bind(('127.0.0.1',8090)) sk.listen() conn,addr = sk.accept() while True: cmd = input('cmd : ') if cmd == 'q': conn.send(cmd.encode('utf-8')) break conn.send(cmd.encode('utf-8')) p

Linux统系统开发11 Socket API编程2 多进程 多线程 高并发处理

[本文谢绝转载原文来自http://990487026.blog.51cto.com] <纲要> Linux统系统开发11 Socket API编程2 多进程 多线程 高并发处理 UDP服务器 客户端最小模型,处理字符转大写 TCP 多进程并发服务器模型,为每个客户端开启一个进程: TCP 多线程服务器模型,使用wrap函数封装 作业: ---------------------------------------------------- UDP服务器 客户端最小模型,处理字符转大写 [em

Linux socket多进程服务器框架二

客户端未解决Bug:子进程或者父进程退出的时候,我无法做到两个进程都调用clt_socket_Destory()方式释放socket句柄, 但是进程退出后,相应的资源也会释放,有一定影响,但是不大,以后我想到办法再优化.重点:客户端connect服务器方法需要单独分离出来,方便用户自己断线重连. 客户端 //clthelp.h #include <stdio.h> #include "commsocket.h" #ifndef _vxclt #define _vxclt #