ChinaUnix.net
相关文章推荐:

socket 多路复用

各位高人,小弟现碰到了个问题,特来求教。 我想做一个复用的服务,它只负责通讯读写,数据放在缓冲池就不管了,请高人给几行伪代码,最好能给点评论,小弟不甚感激。

by 伊人远去 - C/C++ - 2006-04-06 09:29:40 阅读(1358) 回复(3)

相关讨论

本人想写一个类似聊天的程序,用的套接字socket(非阻塞IO),个客户机给服务器发送信息,每一个客户机发送的信息在服务器进程中都能显示出来,服务器用了两个线程,一个用于和客户机建立关系,一个用于接收客户机发送的信息,可是我运行程序后接收不到客户机发送的信息,I/O复用有点迷惑,下面是服务器的代码,望大神给我这个菜鸟看看,给点指导。(我就用了一个客户机进程,建立连接后send 发送,后台接不到啊,后台显示sel...

by 下一个奇迹 - C/C++ - 2013-04-28 16:35:55 阅读(1807) 回复(4)

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define MAXSOCKFD 10 #define GSMD_UNIX_socket "\0gsmd" #define GSMD_UNIX_socket_TYPE SOCK_STREAM int main(int argc,char *argv[]) { int sockfd,newsockfd,is_connected[MAXSOCKFD],fd; struct sockaddr_un addr; int addr_len = sizeof(struct sockaddr_in...

by panhuachun - Linux文档专区 - 2008-03-27 18:34:47 阅读(566) 回复(0)

编TCP socket客户端程序的时候,一般都是这样的: 1.调用socket()得到TCP套接字 2.把这个套接字作为connect()的参数发动连接 3.传输完数据之后shutdown()然后close() 我不想反复调用socket()创建套接字,想节省 我打算: 1.sock_fd = socket() { 2.connect() 3.send() or recv() 4.shutdown(sock_fd) } 5.close(sock_fd) 循环2,3,4过程 但是用起来不行 具体表现: 如果connect()失败,这个sock_fd还可以再次利用,一旦connect()成...

by safedead - 程序开发 - 2006-06-27 11:28:36 阅读(3077) 回复(3)

编TCP socket客户端程序的时候,一般都是这样的: 1.调用socket()得到TCP套接字 2.把这个套接字作为connect()的参数发动连接 3.传输完数据之后shutdown()然后close() 我不想反复调用socket()创建套接字,想节省 我打算: 1.sock_fd = socket() { 2.connect() 3.send() or recv() 4.shutdown(sock_fd) } 5.close(sock_fd) 循环2,3,4过程 但是用起来不行 具体表现: 如果connect()失败,这个sock_fd还可以再次利用,一旦connect()成...

by safedead - Linux环境编程 - 2006-06-27 11:28:36 阅读(3992) 回复(3)
by ch_chosen - C/C++ - 2012-08-03 14:09:48 阅读(3588) 回复(9)

各位大神好,请教一个问题: 先说我的需求: 一台linux下有两张网卡, eth0 用于监听应用程序与外网服务器通讯 eth1 用于监听局域网其他机器的流量 本来是只用监听eth1上的流量即可,但是目前我需要同时监听eth0 eth1的两张网卡的数据. 请问我用socket(PF_PACKET , SOCK_RAW, htons(ETH_P_ALL));可以同时监听到两个网口吗? 还是需要其他的?

by wrangvizer - C/C++ - 2014-05-08 14:42:13 阅读(4004) 回复(4)

本帖最后由 cwsvincent 于 2012-04-28 10:12 编辑 大家好,看了一份源代码,就是mjpeg-streamer,用来做视频监控的,B/S架构。 服务器端开启10个线程,每个线程开了50个socket监听,每个socket都用select来处理请求,对于已accept的请求,再启动一个新线程来发送数据。 小弟对网络编程还不是很熟悉,请问这样可行么?还是我对代码理解有误。 代码大致如下(注释部分是我自己写的):[code]int output_run(int id) { /* cr...

by cwsvincent - C/C++ - 2012-04-28 11:22:50 阅读(2948) 回复(6)

在我的服务器上用netstat -ano一下,发现有很的ESTABLISHED off (0.00/0/0)状态的连接,想问下各位大虾这个一般是什么问题造成的 ?

by cxwshawn - Linux环境编程 - 2014-10-10 12:10:42 阅读(2087) 回复(3)

我设计是这样的 while(1) { 获取本地时间 ret=select(maxfd+1,readfds,null,null,time_out) ret=-1 { …… } ret=0 { 在相同时间 发送数据包 } ret>0 { 接收数据包 } } 很台主机同时运行,现在遇到的问题是主机一直发包,却不见收到数据包。不知道为什么。socket是全双工的,应该不会出现只能发不能收的问题。 我怀疑是不是因为很主机同时发包,没办法收数据包。可是不确定。 希望大家能指点一下。因为程序太了,没办...

by liuyan_adams - C/C++ - 2012-01-04 11:34:35 阅读(1644) 回复(2)

这样一段播发送接收的代码,看起来没有问题,发送方的包可以抓到,但是接收方没有任何反应,请教一下高人问题出在哪里,gcc版本4.4.0, Fedora 11 Server启动以后用netstat没看到port 12345 Listener:[code]Listener Program /* * listener.c -- joins a multicast group and echoes all data it receives from * the group to its stdout... * * Antony Courtney, 25/11/94 * Modified by: Frédéric Bastien (25/03/0...

by redice - Linux环境编程 - 2011-09-08 16:27:07 阅读(2872) 回复(1)