随笔分类 -  网络编程

摘要:之前用socket都是服务端等待客户端连接; 最近有个需求,同一个局域网内,客户端等待服务端多次连接,多次接收服务端的命令在客户端执行,拿到执行结果并返回给服务端,且如果一方断掉,另一方要继续保持,等待对方的下一次连接 不废话,直接上代码; 无论是先运行server或者是先运行client,都可以进 阅读全文
posted @ 2020-04-25 14:17 腹肌猿 阅读(1844) 评论(0) 推荐(0) 编辑
摘要:最近在网络编程开发中遇到socket.error: [Errno 10054] An existing connection was forcibly closed by the remote host这样的错误,查了些资料也没什么用; 最后发现原来是socket server在设计时提前将sock 阅读全文
posted @ 2020-04-24 16:23 腹肌猿 阅读(3446) 评论(0) 推荐(0) 编辑
摘要:from threading import Thread,Lockimport timea=10b=10lock=Lock()def fun(): # lock.acquire() global a global b a+=1 time.sleep(1) b+=1 # lock.release() 阅读全文
posted @ 2020-03-22 00:36 腹肌猿 阅读(275) 评论(0) 推荐(0) 编辑
摘要:#进程间通信,队列 from multiprocessing import Process,Queue import os,sys import time q=Queue() def get(data): time.sleep(2) print("thread {} get {}".format(o 阅读全文
posted @ 2020-03-22 00:06 腹肌猿 阅读(144) 评论(0) 推荐(0) 编辑
摘要:tcp_server from socket import * import threading address='127.0.0.1' #监听哪些网络 127.0.0.1是监听本机 0.0.0.0是监听整个网络 port=9999 #监听自己的哪个端口 buffsize=1024 #接收从客户端发 阅读全文
posted @ 2020-03-14 16:15 腹肌猿 阅读(836) 评论(0) 推荐(0) 编辑
摘要:udp_server.py import socket u=socket.socket(socket.AF_INET,socket.SOCK_DGRAM) addr=("0.0.0.0",9999) u.bind(addr) print("waiting for connection........ 阅读全文
posted @ 2020-03-14 00:18 腹肌猿 阅读(347) 评论(0) 推荐(0) 编辑
摘要:tcp服务端 #!/usr/bin/python3 # -*-coding:utf-8 -*- from socket import * import time COD = 'utf-8' HOST = '0.0.0.0' # 主机ip PORT = 9999 # 端口号 BUFSIZ = 1024 阅读全文
posted @ 2020-03-02 00:25 腹肌猿 阅读(307) 评论(0) 推荐(0) 编辑
摘要:xxx.py# coding:utf-8 import socket ip_port = ('127.0.0.1',8080) back_log = 10 buffer_size = 1024 alldata = "<h1>Hello World</h1>" def main(): webserve 阅读全文
posted @ 2019-12-26 17:48 腹肌猿 阅读(1202) 评论(0) 推荐(0) 编辑
摘要:Celery 是一个强大的 分布式任务队列 的 异步处理框架,它可以让任务的执行完全脱离主程序,甚至可以被分配到其他主机上运行。我们通常使用它来实现异步任务(async task)和定时任务(crontab)。 在Celery中几个基本的概念,需要先了解下,不然不知道为什么要安装下面的东西。概念:B 阅读全文
posted @ 2019-12-15 13:37 腹肌猿 阅读(929) 评论(0) 推荐(1) 编辑
摘要:python用asyncio 模块实现异步编程,该模块最大特点就是,只存在一个线程 由于只有一个线程,就不可能多个任务同时运行。asyncio 是"多任务合作"模式(cooperative multitasking),允许异步任务交出执行权给其他任务,等到其他任务完成,再收回执行权继续往下执行 as 阅读全文
posted @ 2019-12-12 01:09 腹肌猿 阅读(319) 评论(0) 推荐(0) 编辑
摘要:def customer(): r="" while True: n=yield r#,接收生产者的消息,并向消费者发送r print("customer receive",n) r="ok" def produce(c): c.send(None)#第一次启动协程必须发送None值,否则报如下错误 阅读全文
posted @ 2019-12-07 01:17 腹肌猿 阅读(842) 评论(0) 推荐(0) 编辑
摘要:安装 pip install gevent import gevent from gevent import monkey monkey.patch_all()#捕捉所有阻塞,不止接收gevent.sleep import time def f(s): print("hello %s"%s) tim 阅读全文
posted @ 2019-12-07 00:37 腹肌猿 阅读(327) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示