UNIX 网络编程
文章平均质量分 52
aobai219
这个作者很懒,什么都没留下…
展开
-
包裹函数
一下是unix网络编程中的包裹函数,同样适用与windows 编程:Writen 和Readn 等等/* include readn */#include "unp.h"ssize_t /* Read "n" bytes from a descriptor. */readn(int fd, void *vptr, size_t n){ size_t nleft; ssiz原创 2009-02-20 16:14:00 · 1827 阅读 · 0 评论 -
apue 第五章 stand I/O
Apue stand io 读书笔记 缓冲 1:fully buffer 2:line buffer 3:unbuffered Reading and writing a stream 1: charactor-at-a-time IO Getc:原创 2011-10-05 19:59:28 · 678 阅读 · 0 评论 -
gethostbyname timeout
下面是网上摘录的解决该问题的方法, 对怎么绕过其他系统函数(无论是线程安全还是非安全的)也有很好的借鉴意义Hello,I need to add timeout to gethostbyname function in my program. Igoogled and searc转载 2011-07-26 17:34:27 · 2013 阅读 · 0 评论 -
libevent 学习比较
注意 event_base_dispatch 和event_dispatch 的区别。 个人理解event_base_dispatch 是针对某类base 的。 http://hi.baidu.com/%D0%A1%C6%BD339/blog/item/e913fd8160b006ddbd3e1e08.htmllibevent 学习转载 2011-06-16 14:07:00 · 1862 阅读 · 0 评论 -
Conncet 问题
<br />Conncet 问题 环境 : linux 客户端 ,服务器端 。 非阻塞 ,客户端和服务器端部在同一机器上 服务器等待连接情况,有连接时,处理连接 服务器端结构如下: 每一次只是处理一个连接 <br />While(1) { Ret =Select(listenf+1,&rd,NULL,NULL,tv) //等待连接请求 { Client = accept(listen,) If(client > 0) { While(1) //死循原创 2011-01-06 20:22:00 · 1267 阅读 · 2 评论 -
select 模式 非阻塞
<br /> 在windows 下设置select 模式的非阻塞。 <br /> 具体实现如下<br /> <br /> 客户端:(window) 创建一个socket ,非阻塞, 调用connect , connect 立即返回。 然后用select 检查,如果可写, 就认为该 connect 连接成功, 在具体实现的时候发现如果不清空可写集, 发现select 一直返回该描述字可写。 认真看了下unp ,发现确实一值为可写, 第一次可写表示连接成功, 对于一个已经连接成功的tcp原创 2010-09-01 21:25:00 · 1380 阅读 · 0 评论 -
非阻塞socket 的连接
非阻塞socket 的连接2010-02-21 14:17方案1:使用while和usleep的timeout<br /> int connect_socket_timeout(int sockfd,char *dest_host, int port, int timeout)<br /> {<br /> struct sockaddr_in address;<br /> struct in_addr inaddr;<br /> struct hostent *host;<br /> in转载 2010-09-02 11:34:00 · 1234 阅读 · 0 评论 -
LIVE555 vc 编译
打算在wdz 下面先熟悉整个的框架编译:参考如下文章Windows下通过VC++6.0编译live555工程(可调试)http://fancylife.blog.51cto.com/920524/197406编译成功四个库后,在testOnDemandRTSPServer.cpp 中修改了 要添加的流格式的具体路径比如,我要播放ts流格式的, 我首先将*.ts 拷贝到 server所在的目录在源码中将该ts的路径修改为的绝对路径。 这样编译就oK了 在vlc 中输入提示框上面的URL 就可以了原创 2010-08-20 18:20:00 · 1524 阅读 · 0 评论 -
网络编程知识
网络编程知识索引:处理SIGCHLD信号捕获信号时,注意处理被中断的系统调用accept返回前连接夭折的处理具有多个输入的处理SIGPIPE的产生和处理处理服务器主机崩溃处理服务器主机崩溃重启处理服务器主机关机网络函数的可重入问题套接口设置超时的方法辅助数据转载 2010-04-09 18:12:00 · 2903 阅读 · 1 评论 -
怎么获取本地IP 和远端IP
将地址绑定到一个套接口在前面的章节中我们准备了足够的知识来创建套接,并且格式化套接口地址。这一章将会这些基础上进行扩展我们将会理解bind是如何工作的,并且如何来正确的使用。在这一章,我们将会学到下列内容:bind函数如何将一个地址赋给一个套接口如何由一个已经具有地址的套接口得到本地套接口地址如何得到同等的套接口地址bind如何选择用于通信的网络接口bi转载 2010-02-05 16:30:00 · 2771 阅读 · 0 评论 -
FTP
socket写FTP客户端 最近项目里面用到了FTP客户端,自己动手用socket写了一个,到现在也算基本能够完成任务,但是却觉得设计得不是很好,这些先暂且不谈了,主要记录一下这次编程的收获吧。 关于FTP协议,网上大把大把的资料,自己编写FTP客户端的例子也有很多,但其实这个东东并不复杂,却没有人把里面几个注意的地方讲出来,我就来讲讲吧。搞清楚FTP协转载 2009-02-26 16:16:00 · 736 阅读 · 0 评论 -
udp 丢包问题以及解决方案
1:场景 服务器: 4 CPU 300w/min upd 包接收量 ,丢包为 2k /min 以上都是峰值。 只有一个CPU 负荷高,其他CPU 负荷都很低 解决办法包括: 1) 增大udp 接收缓存 2) 寻找一种方法, 让4个CPU都能够利用起来。 3) udp丢包有很多种可能, 可能在网卡那一层就丢了,怎么检测? 关键是要弄清楚整个的一原创 2011-10-29 15:14:11 · 2634 阅读 · 1 评论