linux下网络编程学习

http://blog.csdn.net/Simba888888/article/category/1426325

select()使用例子

#include <stdio.h>
#include <sys/time.h>
#include <sys/types.h>
#include <unistd.h>#define TIMEOUT 5
#define BUF_LEN 1024int main(void)
{struct timeval tv;fd_set rfds;int ret;FD_ZERO(&rfds);FD_SET(STDIN_FILENO, &rfds);tv.tv_sec = TIMEOUT;tv.tv_usec = 0;ret = select(STDIN_FILENO+1, &rfds, NULL, NULL, &tv);if (ret == -1) {perror("select()");return 1;} else if (!ret) {printf("%d seconds elapsed.\n", TIMEOUT);return 0;}if (FD_ISSET(STDIN_FILENO, &rfds)) {char buf[BUF_LEN+1];int len;len = read(STDIN_FILENO, buf, BUF_LEN);if (len == -1) {perror("read()");return 1;}if (len) {buf[len] = 0;printf("read: %s\n", buf);}return 0;}fprintf(stderr, "This should not happen.\n");return 1;
}

poll()使用例子

#include <stdio.h>
#include <unistd.h>
#include <poll.h>#define TIMEOUT 5int main(void)
{struct pollfd fds[2];int ret;fds[0].fd = STDIN_FILENO;fds[0].events = POLLIN;fds[1].fd = STDOUT_FILENO;fds[1].events = POLLOUT;ret = poll(fds, 2, TIMEOUT*1000);if (ret == -1) {perror("poll()");return 1;}if (!ret) {printf("%d seconds elapsed.\n", TIMEOUT);return 0;}if (fds[0].revents & POLLIN)printf("stdin is readable\n");if (fds[1].revents & POLLOUT)printf("stdout is writable\n");return 0;
}

转载于:https://www.cnblogs.com/feilv/p/5593276.html

linux下开发问题汇总相关推荐

  1. linux. signal信号,Linux下signal信号汇总

    SIGHUP /* Hangup (POSIX). */ 终止进程 终端线路挂断 SIGINT /* Interrupt (ANSI). */ 终止进程 中断进程 Ctrl+C SIGQUIT /* ...

  2. Android Linux下开发环境搭建

    开发环境--这个没有要求你一定得在什么系统下开发,你对哪个环境熟悉就用哪个. 如果习惯Windows的话,那在Windows下开发:如果对Linux比较熟,那你就用Linux. 不过,话说回来,Lin ...

  3. 在Linux下开发多语言软件: Hello GetText!

    在Linux下开发多语言软件: Hello GetText! 转自:http://www.groad.net/bbs/read.php?tid-906.html 开发多语言软件是一件非常困难的事,各个 ...

  4. Go语言 linux下开发 IDE -SpaceVim\NeoVim

    文章目录 Go语言 linux下开发 IDE -SpaceVim 一.NeoVim和SpaceVim区别 二.NeoVim 安装 NeoVim Neovim GitHub Copilot插件安装 常见 ...

  5. 在 Linux 下开发和下载8051单片机程序

    在 Linux 下开发和下载8051单片机程序 在 Linux 下需要用 sdcc 开发8051单片机程序,用 stcgal 这个 python 程序将编译好的8051单片机程序下载到裸机上. sdc ...

  6. 在Linux下开发简易通讯录

    通过这一段时间的学习,这两天花了不少时间巩固理解,终于完成了在Linux下开发简易通讯录,由于时间仓促,该程序有着不少bug,对于用户的输入容错率也不高,只做了开始菜单的输入容错,功能也只实现了基本的 ...

  7. linux下如何开发php,在linux下开发PHP,用哪个系统?该如何解决

    在linux下开发PHP,用哪个系统? 用 ubuntu还是centos呢? 求指导. O(∩_∩)O谢谢 ------解决方案-------------------- 这倒是无所谓的,不过建议与线上 ...

  8. 如何在linux下开发java程序

    背景 如何在linux下开发java程序,或者更具体一点在linux开发java SDK, 首先明确一下几点 开发工具 如果编译 如何运行 如果写单侧 开发工具 编辑器: 可以直接安装PowerVim ...

  9. Linux下开发环境搭建---2. emacs篇

    Linux下开发环境搭建---2. emacs篇 本节主要参考:      曹乐的<在Emacs下用C/C++编程>      王纯业的<Emacs 一个强大的平台>      ...

最新文章

  1. mac上安装ta-lib
  2. Linux tcp同时多个连接,Linux下网络编程(2)——TCP多连接,1个server,多个client...
  3. Java-Java I/O流解读之Object Serialization and Object Streams
  4. jQuery——给元素添加父级的方法
  5. MyBatis缓存与Apache Ignite的陷阱
  6. c++rpg黑框游戏_NO总本色出演断智大师兄,电竞魔音主C人《超级猎杀》一战成名...
  7. python中字典的键是唯一的吗_在python3中反转字典中的键和值(值不唯一)
  8. opc 多点位一次性读_如何使用Excel通过OPC访问WinCC的实时数据
  9. jQuery + html + css 实现王者荣耀官网首页
  10. 麦克风阵列技术 二 (自动增益控制 自动噪声抑制 回声消除 语音活动检测)
  11. error:LNK2005
  12. 小游戏轻量级数据库-GameDb
  13. 音频处理—SOX音效
  14. 与小卡特一起学python 第18章 一种新的输入-事件
  15. 代码跳转路由报错_vue路由报错Navigating to current location (/login) is not allowed踩坑总结...
  16. 【Hive】Hive练习题(一)
  17. Lesson 4英语非谓语动词
  18. 谈梦想也谈谈钱!多城市 Cocos 人才招聘需求打包送上丨10月岗位
  19. 形态学操作之膨胀与腐蚀
  20. ElasticSearch安装与使用

热门文章

  1. IDEA安装class文件分析工具(binEd 和 JClassLib)
  2. linux 安装 mysql 5.6_Linux安装MySQL_5.6
  3. 一次针对EduSrc的挖掘
  4. 不依赖任何系统API,用c语言实现gbk/utf8/unicode编码转换
  5. Python 面向对象编程基础
  6. hadoop中的filesystem和localfilesystem
  7. rJava安装及Java 开发R
  8. Hive自定义UDF UDAF UDTF
  9. discuz问题综合
  10. 从源码开始编译一个带有WEB服务器功能的小型LINUX(下)