////////////////////////////////////////////////////////////////////////////////* gcc -Wall -o s1 s1.c -lws2_32*//////////////////////////////////////////////////////////////////////////////// #include <stdio.h>#include <stdlib.h>#include <…
////////////////////////////////////////////////////////////////////////////////* gcc -Wall -o c1 c1.c -lws2_32*//////////////////////////////////////////////////////////////////////////////// #include <stdio.h>#include <stdlib.h>#include <…
需求:用select (多路复用)模拟一个 socket server.可以接收多并发. 1. 一开始是检测自己,如果我有活动了,就说明有客户端要连我了. #用select去模拟socket,实现单线程下的多路复用 import select import socket import queue server=socket.socket() server.bind(('localhost',9000)) server.listen(1024) server.setblocking(False)…
第一个socket服务端程序 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <winsock2.h> #include <ws2tcpip.h> void error_handling(char *message); int main(int argc, char *argv[]) { int serv_sock; int clnt_sock; struct…
花10天时间用C语言做了个小站 http://tieba.yunxunmi.com/index.html 简称: 云贴吧 不好意思啊,我上周到今天不到10天时间,用纯C语言写了一个小站!想拍砖的就赶紧拿出来拍啊 预计采集1000万贴,欢迎大家狠狠的来拍吧! 整站大小(网页+C ISAPI类库)不到1MB  容量大.速度快.无论什么贴,随便贴吧,就是量大,容量大,肚量大!…
用Racket语言写了一个万花筒的程序 来源:https://blog.csdn.net/chinazhangyong/article/details/79362394 https://github.com/OnRoadZy https://blog.csdn.net/chinazhangyong Racket语言是Lisp语言的一个方言.Lisp语言具有神奇的魔力,可以全方位诠释哲学,而不像其它语言主要能够表达数学.    这是我用它写的第一个完整程序,在此纪念一下下. 先来看看我的万花筒的神…
在Linux使用GCC编译C语言共享库 对任何程序员来说库都是必不可少的.所谓的库是指已经编译好的供你使用的代码.它们常常提供一些通用功能,例如链表和二叉树可以用来保存任何数据,或者是一个特定的功能例如一个数据库服务器的接口,就像MySQL. 大部分大型的软件项目都会包含若干组件,其中一些你发现可以用在其他项目中,又或者你仅仅出于组织目的将不同组件分离出来.当你有一套可复用的并且逻辑清晰的函数时,将其构建为一个库会十分有用,这样你就不将这些源代码拷贝到你的源代码中,而且每次都要再次编译它们.除此…
1.你往output里面放什么,下次循环就出什么.  2. 1.服务器端:实现了收和发的分开进行 import select,socket,queue server=socket.socket() server.bind(('localhost',9000)) server.listen(1024) server.setblocking(False) msg_dic={} #定义一个空字典 inputs=[server,] outputs=[] while True: readable,writ…
1, 必须在非阻塞模式下,才能实现IO的多路复用,否则一个卡住就都卡住了.(单线程下的多路复用) 先检测自己,现在没有客户端连进来,所以会卡住. # 用select去模拟socket,实现单线程下的多路复用 import select import socket import queue server = socket.socket() server.bind(('localhost', 9000)) server.listen(1024) server.setblocking(False) #…
与常规web开发不同,使用socket开发可以摆脱http的限制.可自定义协议,使用长连接.PHP代码常驻内存等.学习资料来源于workerman官方视频与文档. 通常创建一个socket服务包括这几个简单的步骤: 1.创建一个socket套接字,监听在某协议的某个端口,如:tcp的9865端口,为了是外网可以访问,地址为0.0.0.0,监听地址应为这种格式tcp://0.0.0.0:9865 2.将监听socket设置为非阻塞,若不设置,程序会在客户端连接没有发消息时阻塞. 3.程序阻塞在I/…