2 vampire209 vampire209 于 2014.07.23 17:41 提问

win32下有没有既能监听标准输入又能监听套接字的机制呢?

在下win上菜到不能鸟的菜鸟一枚,求教各位大虾如何能够在win既监听标准输入又监听网络套接字呢?类似unix下的select,不过我知道win上也有个缩水版的,只能监听套接字,而不能监听文件句柄,所以想各位求助。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
linux epoll监听套接字实例
linux epoll机制用于IO多路复用,能够同时监听多个接字,使用起来比较简单。相关接口: #include <sys/epoll.h> int epoll_create(int size); int epoll_create1(int flags); //创建epoll实例 int epoll_ctl(in...
利用select监听stdin输入
我这两天打算研究一下vi的源码(就是linux上面的那个vi),然后在这个学期的课程设计中写一个简单的文本编辑器。我发现vi源码中是利用select来监听是否有输入内容的。 文件描述符 我们都知道linux里面是万物皆文件,在所有的文件描述符中有两个比较特殊的存在:0、1 其实stdin == 0,stdout == 1 所以我们可以将0设置为select要监听的文件描述符(套接字)
Socket编程之Select()监听
Select在Socket编程中还是比较重要的,它能够监视我们需要监视的文件描述符的变化情况——读写或是异常。    Select的函数格式(Unix系统下的伯克利socket编程,和windows下的略有区别,体现两个方面:一是select函数的第一个参数,在windows下可以忽略,但在linux下必须设为最大文件描述符加1;二是结构fd_set在两个系统里定义不一样): int
监听套接字与已连接套接字
监听套接字(listening socket)和已连接套接字(connected socket)之间的区别常会使很多人感到迷惑。本文简要描述一下这两者的区别。为了说明监听套接字与已连接套接字的区别,我们先来看一下套接字在连接中的含义。 从内核的角度来看,一个套接字就是通信的一个端点。一个连接由它两端的套接了地址唯一确定,这对套接字地址叫做套接字对(socket pair),由下列4元组来表示:
Java 事件响应浅索(Swing,鼠标事件,窗口事件,键盘事件)
  最近在搞java GUI和J数据库结合的应用程序,所以索性详细研究下窗口,鼠标,键盘事件。 写成文章,详细研究方法见下文。                ====请各位路过者不吝留下你的文字=====   研究方法:   一:在JFrame上面放置一个JLabel,用于显示当前触发并相应的事件。   二:继
windows上解决select不能同时等待键盘和套接字输入的问题
select在freebsd上可以同时等待多个fd的读写通知,因为freebsd将socket和file当作同一对象,这有一点有时很有用,比如,当进程进入某个状态,需要既可以等待网络输入,又能等待键盘输入(比如取消指令)时,就可把该socket和stdin一起加到一个fd_set中,用select来监视。但是windows上的select却没有此功能,如果把非socket型的描述符加到fd_set
监听套接字 连接套接字
摘要:对于服务器编程中最重要的一步等待并接受客户的连接,那么这一步在编程中如何完成,accept函数就是完成这一步的。它从内核中取出已经建立的客户连接,然后把这个已经建立的连接返回给用户程序,此时用户程序就可以与自己的客户进行点到点的通信了。 accept函数等待并接受客户请求: #include int accept(int sockfd, struct sockaddr* addr, s
监听套接字 连接套接字的区别
摘要:对于服务器编程中最重要的一步等待并接受客户的连接,那么这一步在编程中如何完成,accept函数就是完成这一步的。它从内核中取出已经建立的客户连接,然后把这个已经建立的连接返回给用户程序,此时用户程序就可以与自己的客户进行点到点的通信了。 accept函数等待并接受客户请求: #include int accept(int sockfd, struct sockaddr* addr, s
TCP如何区分监听套接字和已连接套接字
2.10 TCP端口号与并发服务器并发服务器中主服务器循环通过派生一个子进程来处理每个新的连接。如果一个子进程继续使用服务器众所周知的端口来服务一个长时间的请求,那将发生什么?让我们来看一个典型的序列。首先,在主机freebsd上启动服务器,该主机是多宿的,其IP地址为12.106.32.254和192.168.42.1。服务器在它的众所周知的端口(本例为21)上执行被动打开,从而开始等待客户的请求,如图2-11所示。 图2-11 TCP服务器在端口21上执行被动打开我们使用记号{*:21, *:*}指出服
kernel中套接字的绑定、监听、连接和断开
1、套接字的绑定创建完套接字服务器端会在应用层使用bind函数惊醒套接字的绑定,这时会产生系统调用,sys_bind内核函数进行套接字。系统调用函数的具体实现SYSCALL_DEFINE3(bind, int, fd, struct sockaddr __user *, umyaddr, int, addrlen) { struct socket *sock; struc