ChinaUnix.net
相关文章推荐:

python socket select

1.使用select实现非阻塞socket # -*- coding: cp936 -*- """ 非阻塞socket的使用(此程序在ubuntu linux和windows xp上测试,Windows可以支持select.select) 监控socket的三个list:in/out/err 程序以5000ms的时间长度为间隔,如果有客户端的请求,接收连接并进行显示;如果没有的话, 每隔5000ms显示一次"no data coming" """ import socket,select host = "" port = 50000 s = socket.socket(socket.AF_INET,socket.SOCK_STREAM...

by jcodeer - Python文档中心 - 2007-10-30 23:06:18 阅读(4206) 回复(0)

相关讨论

我在server端socket()了两个,并绑定了两个端口,我把socket的两个描述符加入到读集合,后就用select()来判断。当有连接来的时候,我就fork一个子进程来处理(先accept(),再read(),write()等)。我用两个client端分别连接两个端口,为什么只有1个client端能正常工作(先连接的一个client1能正常工作,而后连接的client2一直再write()处就阻塞了)。在server端也只有两个进程,后连接的client2没有相应的进程,我用gdb调试也是一...

by zhaohonglin - C/C++ - 2008-12-27 23:33:17 阅读(3155) 回复(4)

使用non block socketselect时遇到了问题,希望各位看下 问题描述: 我先创建一个server socket,把这个socket设为non block,然后select read这个socketselect返回时,判断这个server socket是否被set,如果是,则accept,并把accept返回的socket也设为non block并且加到select read set中,select返回时同样检查是否被set,如果是,则recv数据,但是在recv返回错误: “EAGAIN Resource temporarily unavailable”,并且sel...

by tianqio - C/C++ - 2007-04-09 16:17:30 阅读(5584) 回复(8)

C里面怎么用select来监视同一个socket的读写呀?请大家多多指教

by qingfeng0826 - C/C++ - 2006-09-19 09:02:56 阅读(2137) 回复(4)

我想实现的是我的服务程序可以这样操作。 如果有数据发送过来我就接受并显示数据, 如果没有则给连接过来的客户端发送一个数据。 但是这想的操作我不知道怎么弄。 我的思想是: s=socket(....); bind(...); listen(...); while(1) { FD_ZERO(&readfd); FD_ZERO(&writefd); ... ... if(select(s+1,&readfd,&writefd,0,&tm)) { if(FD_ISSET(s,&readfd)) { do ...} if(FD_ISSET(s,&writefd)) { do .....

by w8 - C/C++ - 2008-09-04 12:17:53 阅读(3336) 回复(4)

解决了!谢谢大家 [ 本帖最后由 happyloon 于 2008-3-5 16:25 编辑 ]

by happyloon - Solaris - 2008-03-05 10:16:22 阅读(1048) 回复(0)

大家在socket编程时如果select函数出现错误,返回为-1时怎么出来啊 我的程序这两天不知为啥老是select出错,原因有:connect reset by peer,illegal sequence 我程序里没有处理错误,直接break进入下次循环,结果老是出错,直到日志文件撑到2G,郁闷啊 不知道大家是怎么处理,把socket关掉重新建立连接是不是一种方法,能彻底解决问题吗

by happytgrape - C/C++ - 2006-03-09 20:12:12 阅读(5175) 回复(8)

代码为: # -*- coding: windows-1252 -*- import socket #加载socket import time #加载时间 import sys #加载sysimport if __name__ == '__main__': sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.bind(('localhost', 8001)) sock.listen(5) while True: connection,address = sock.accept() try: connection.settimeout...

by caesarok - Python - 2009-02-04 17:19:12 阅读(3495) 回复(12)

服务器端的代码如下:创建了一个TCP服务器哦! import socketServer class MyHandler(socketServer.BaseRequestHandler): def handle(self): while 1: dataReceived = self.request.recv(1024) if not dataReceived: break self.request.send(dataReceived)#往客户端输出数据流 myServer = socketServer.ThreadingTCPServer(('',8881),MyHandler) myServer.serve...

by hkebao - Python文档中心 - 2009-01-16 18:33:44 阅读(1407) 回复(0)

服务器端的代码如下:创建了一个TCP服务器哦! import socketServer class MyHandler(socketServer.BaseRequestHandler): def handle(self): while 1: dataReceived = self.request.recv(1024) if not dataReceived: break self.request.send(dataReceived)#往客户端输出数据流 myServer = socketServer.ThreadingTCPServer(('',8881),MyHandler) myServer.serve...

by hkebao - Python文档中心 - 2009-01-16 18:33:23 阅读(1573) 回复(0)

服务器端的代码如下:创建了一个TCP服务器哦! import socketServer class MyHandler(socketServer.BaseRequestHandler): def handle(self): while 1: dataReceived = self.request.recv(1024) if not dataReceived: break self.request.send(dataReceived)#往客户端输出数据流 myServer = socketServer.ThreadingTCPServer(('',8881),MyHandler) myServer.serve...

by hkebao - Python文档中心 - 2009-01-16 18:32:57 阅读(1341) 回复(0)