ChinaUnix.net
相关文章推荐:

c语言 select编程

:shock: 十万火急!!!!!!!!请大虾们救命!!!!!!!!!!!万分感谢!!!!!!!!!!!!!!!!!!!!!! 我要在unix下用c编写网络代码, 哪位高手请指教, 如何在不开辟进程的情况下,实现多用户连接和通信 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

by tanchanghe - C/C++ - 2003-11-07 13:12:23 阅读(1764) 回复(8)

相关讨论

大家在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)

socket编程select的使用 来源: http://www.uumbbs.com/show_topic.aspx?topicId=3084&forumId=208 select在Socket编程中还是比较重要的,可是对于初学Socket的人来说都不太爱用select写程序,他们只是习惯写诸如connect、accept、recv或recvfrom这样的阻塞程序(所谓阻塞方式block,顾名思义,就是进程或是线程执行到这些函数时必须等待某个事件的发生,如果事件没有发生,进程或线程就被阻塞,函数不能立即返回)。可是使...

by jiqiubo - 网络技术文档中心 - 2008-09-25 13:43:42 阅读(986) 回复(0)

一个简单的程序: Server端使用select监听多个Client,Client发数据给Server,Server把受到的数据打印出来。 出现的问题是:当只有一个Client连接时,无法收到Client端发来的数据,多个Client连接时则正常。 我是使用telnet做Client来测试的。 代码如下,各位老大帮看一下: #include #include #include #include #include select.h> #include #include ...

by coloka - C/C++ - 2007-04-11 23:30:48 阅读(1700) 回复(3)

我想在server端侦听不同的输入,例如键盘和client端的输入。 代码如下: while(1) { FD_ZERO(&readset); FD_SET(0, &readset); FD_SET(pr_sock, &readset); val = select(2, &readset, NULL, NULL, NULL); if( val == -1) { perror("select"); exit(1); } else { if( FD_ISSET(pr_sock, &readset) ) { if((npr_sock=accept(pr_sock, NULL, NULL)) < 0 ) { perror("accepting connec...

by polobo - C/C++ - 2004-09-01 22:54:11 阅读(1609) 回复(2)

我有一个表: student name age dep bati 23 math zidane 24 chinese roberto 24 math 我现在想在student表中统计出被1个以上学生选中的系,即math! 不知道这条语句怎么写?

by zidane2007 - Oracle - 2008-04-20 00:28:26 阅读(2115) 回复(4)

网络编程select函数的第三个参数有点不懂,请大家解释以下。 select的第三个参数是 侦听对写事件感兴趣的fd集合。 什么情况下写事件集合中的fd被置?书上说是在内核中的发送缓冲区中有数据时,就表示可写,但还是不明白。 一般对写事件的操作如下 ioctl(fd, FIONBIO, 1);//设置为非阻塞。 FD_SET(fd, &writeset); ret = select(maxfd+1, &readset, &writeset, NULL, NULL); if(ret > 0) { if(FD_ISSET(fd, &writeset))...

by youngshuai - C/C++ - 2008-07-04 18:32:45 阅读(6231) 回复(7)

在socket编程时使用select模型,如何判断对方主机已经关闭? [code] // sockselect.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include #include #include //for UNICODE #include #define SERVER_PORT 2020 void ReadSocket(SOCKET s) { char recvbuff[1024]; int ret, nLeft, idx; nLeft = 30; idx = 0; while(nLeft>0) { ...

by yacki - C/C++ - 2006-09-24 13:23:22 阅读(4554) 回复(2)

以前在32位unix运行一直正常的软件,最近移植到HP-UX 11.23 for 安腾. 在HP-UX核心 FD_SETSIZE=2048 备的机器上运行正常, 但是 FD_SETSIZE=4096 (因为种种原因ORACLE rac 10g 要求修改内核使然), 记过在 ret=select(nfds+1,&revfd,0,0 )函数返回出错,errno=9,是bad file 描述符的意思. 估计FD_SETSIZE增大以后造成 FD_SET 的问题,请问高手们如何下手.

by wkp69 - C/C++ - 2006-05-12 08:42:09 阅读(9270) 回复(7)

学习steven大师的unix network programming ,前面几章的内容都很好理解,什么listen, socket, accept等都很easy理解。 可是到了介绍select , poll函数时候,俺却怎么都不理解了,连为什么要用select, poll这两个函数和这两个函数干么用的俺都没法理解。 大侠们帮俺说说select, poll函数。

by mill888 - C/C++ - 2008-02-13 14:37:56 阅读(8511) 回复(5)

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)