1. TCP回射服务器程序:main函数
#include "unp.h"
int main(int argc, char **argv)
{
int listenfd, connfd;
pid_t childpid;
socklen_t clilen;
struct sockaddr_in cliaddr, servaddr;
listenfd = Socket(AF_INET,...
分类:
其他好文 时间:
2015-04-26 16:50:44
阅读次数:
146
客户端程序:
通过服务器返回当前的时间和日期。
#include "unp.h"
#include "my_err.h"
int main(int argc, char** argv)
{
int sockfd, n;
char recvline[MAXLINE + 1];
struct sockaddr_in servaddr...
分类:
其他好文 时间:
2015-04-24 16:20:48
阅读次数:
132
最近在看《UNIX网络编程》(简称unp)和《Linux程序设计》,对于unp中第一个获取服务器时间的例子,实践起来总是有点头痛的,因为作者将声明全部包含在了unp.h里,导致后面编写代码会对这个头文件造成依赖,而学习不到调用了相应功能之后,应该包含哪些确切的头文件。再者,我下载了unp.h之后,头...
分类:
其他好文 时间:
2015-03-09 00:29:02
阅读次数:
215
今天开始拜读《Unix网络编程》。找到的源代码在Linux下有各种问题,最后决定还是自己从头写比较好。
从第一个时间服务程序开始学习。今天先看一下主要的头文件的作用。
在common.h中(参照 unp.h 自己写的,包含常用头文件和一些常量定义,用着方便),有以下的头文件:
sys/types.h
此头文件是系统类型的定义,如:int8_t int16_t int32_t int64_...
分类:
其他好文 时间:
2015-02-11 18:38:03
阅读次数:
229
1 #include "unp.h" 2 3 int 4 main(int argc, char **argv) 5 { 6 union { 7 short s; 8 char c[sizeof(short)]; 9 } un;10 11 ...
分类:
其他好文 时间:
2015-01-31 14:29:45
阅读次数:
245
我们一直在讨论等待某个描述字准备好 I/O (读或写)或是其上发生一个待处理的异常条件(带外数据)。尽管可读性和可写性对于普通文件这样的描述字显而易见,然而对于引起 select 返回套接口就绪的条件要更为复杂一些。
1、下列四个条件中的任何一个满足时,一个套接口准备好读:
该套接口接收缓冲区中的数据字节数大于等于套接口接收缓冲区低潮标记的当前大小。对这样的套接口的读操作将不阻塞并返回一个...
分类:
其他好文 时间:
2015-01-18 09:24:03
阅读次数:
229
首先是服务器程序:
#include
#include
int main()
{
int listenfd, connfd;
int nWrite;
int count;
struct sockaddr_in servaddr;
char buff[MAXLINE];
time_t ticks;
listenfd = Socket(...
分类:
其他好文 时间:
2015-01-15 22:14:25
阅读次数:
194
linux 下的 select 知识点 unp 的第六章已经描述的很清楚,我们这里简单的说下 select 的作用,并给出 select 的客户端实例。我们知道 select 是IO 多路复用的一个最简单支持,poll 和 epoll 是 select 的升级版。在UNIX 网络编程第五章读后有.....
分类:
系统相关 时间:
2015-01-13 19:20:31
阅读次数:
283
转载自陈硕在知乎的回答。既然你是在校学生,而且编程语言和数据结构的基础还不错,我认为应该在《操作系统》和《计算机体系结构》这两门课上下功夫,然后才去读编程方面的 APUE、UNP 等书。下面简单谈谈我对学习这两门课的看法和建议,都是站在服务端程序员的角度,从实用主义(pragmatic)的立场出发而...
分类:
编程语言 时间:
2015-01-08 14:48:46
阅读次数:
239
最近开始学习unix网络编程,开篇第一个程序daytimetcpcli.c编译运行成功,就花费了很多心思,把问题汇总出来,供各位参考。
FreeBsd unix 系统构建的vmware虚拟机,之前对FreeBsd也是小白,虽说也玩过linux,对网络通信这些设置啊还是不熟。
书中源代码如下:
#include
"../lib/unp.h"
#include "../lib/...
分类:
其他好文 时间:
2015-01-08 13:27:31
阅读次数:
251