本文转载自:http://blog.csdn.net/yusiguyuan/article/details/11760187 一、概述 a) 在编写与计算机通信的程序时,首先要确定的就是和计算机通信的协议,从高层次来确定通信由哪个程序发起以及响应在合适产生。大多数网络应用按照划分成客户和服务器来组织 ...
分类:
其他好文 时间:
2016-08-17 10:07:11
阅读次数:
232
记录一次搭建unix网络编程环境过程中遇到的问题和总结 计算机环境虚拟机 linuxmint-18-xfce-64bit 1.打开unix网络编程.iso 把目录下的文件夹复制到某一目录,修改权限,可命令可鼠标操作。 2. 很明显在检测环境时gcc无法生成可执行文件。于是我又执行了一次configu ...
分类:
其他好文 时间:
2016-08-14 07:15:43
阅读次数:
490
这一章主要是完成一个完整的tcp客户/服务器程序.通过一很简单的例子.弄清客户和服务器如何启动,如何终止,发生了某些错误会发生什么.这些事很重要的 客户端代码#include "unp.h"//static void str_cli1(FILE*fp,int sockfd);int main(int... ...
分类:
其他好文 时间:
2016-08-10 06:28:29
阅读次数:
217
time_wait状态 可靠地实现tcp全双工连接的终止;(假设客户端先关闭).服务端再关闭,服务端将发送fin ,客户端此时进入time_wait状态.客户端接收到fin.将回一个ack.如果这个ack一旦丢失..time_wait这段时间,会使得服务端重新发送fin(2)使得老的重复分节在网络中... ...
分类:
其他好文 时间:
2016-08-10 06:23:17
阅读次数:
163
为了执行网络I/O操作.进程必须做的第一件事情就是调用Socket函数.指定期待的通信协议#includeint socket(int family,int type,int protocol);family表示协议族,比如AF_INET,type表示套接字类型, protocol一般设置为0fam... ...
分类:
其他好文 时间:
2016-08-10 06:22:31
阅读次数:
212
之前一直以为time_wait状态就是主动关闭的那一方产生.然后这个端口一直不可以用.实际我发现服务端监听一个端口.客户端发来连接后.传输数据后.服务端关闭客户端套接字后.用netstat -nat | grep 端口 查看了产生了time_wait.但客户端依然可以不断连接服务端.然后服务端不断关... ...
分类:
其他好文 时间:
2016-08-10 06:22:02
阅读次数:
148
套接字接口(socket interface)是一组函数,它们和Unix I/O函数结合起来,用以创建网络应用。大多数现代系统上都实现套接字接口,包括所有的Unix变种、Windows和Macintosh。 1.套接字的基本结构 struct sockaddr 这个结构用来存储套接字地址。 数据定义 ...
分类:
其他好文 时间:
2016-07-31 15:39:26
阅读次数:
176
IP地址实质上就是一个32位的无符号整数,用如下结构体存放 由于历史原因,虽然IP地址只是个标量,却用一个结构体来存储。 由于主机可以有不同的主机字节顺序,即大端机或小端机。但TCP/IP定义了统一的网络字节顺序,大端字节顺序。 Unix提供了两个函数可在主机字节和网络字节间实现转换: 一、hton ...
分类:
Web程序 时间:
2016-07-31 00:04:18
阅读次数:
212
1、前言 在网络编程中,阻塞、非阻塞、同步、异步经常被提到。unix网络编程第一卷第六章专门讨论五种不同的IO模型,Stevens讲的非常详细,我记得去年看第一遍时候,似懂非懂,没有深入理解。网上有详细的分析:http://blog.csdn.net/historyasamirror/article ...
分类:
其他好文 时间:
2016-07-21 06:19:45
阅读次数:
130
QUICK AND DIRTYExecute the following from the src/ directory:
一:./configure # try to figure out all 结果是:........
checking for struct addrinfo... yes
checking for struct if_nameindex... yes
checking...
分类:
其他好文 时间:
2016-07-17 00:34:40
阅读次数:
381