小说网 找小说 无限小说 烟雨红尘 幻想小说 酷文学 深夜书屋
上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 102 下一页

2014年9月4日

Linux系统编程(37)—— socket编程之原始套接字

摘要: 原始套接字的特点 原始套接字(SOCK_RAW)可以用来自行组装IP数据包,然后将数据包发送到其他终端。也就是说原始套接字是基于IP数据包的编程(SOCK_PACKET是基于数据链路层的编程)。另外,必须在管理员权限下才能使用原始套接字。原始套接口提供了普通TCP和UDP socket不能提供的... 阅读全文

posted @ 2014-09-04 08:03 牛栏山1 阅读(184) 评论(0) 推荐(0) 编辑

Linux系统编程(37)—— socket编程之UDP服务器与客户端

摘要: 典型的UDP客户端/服务器通讯过程: 编写UDP Client程序的步骤1、初始化sockaddr_in结构的变量,并赋值。这里使用“8888”作为连接的服务程序的端口,从命令行参数读取IP地址,并且判断IP地址是否符合要求。2、使用socket()来建立一个UDPsocket,第二个参数为... 阅读全文

posted @ 2014-09-04 07:58 牛栏山1 阅读(166) 评论(0) 推荐(0) 编辑

Linux系统编程(36)—— socket编程之UDP详解

摘要: UDP 是User DatagramProtocol的简称,中文名是用户数据报协议。UDP协议不面向连接,也不保证传输的可靠性,例如: 1、发送端的UDP协议层只管把应用层传来的数据封装成段交给IP协议层就算完成任务了,如果因为网络故障该段无法发到对方,UDP协议层也不会给应用层返回任何错误信息... 阅读全文

posted @ 2014-09-04 07:57 牛栏山1 阅读(139) 评论(0) 推荐(0) 编辑

Linux系统编程(35)—— socket编程之TCP服务器的并发处理

摘要: 我们知道,服务器通常是要同时服务多个客户端的,如果我们运行上一篇实现的server和client之后,再开一个终端运行client试试,新的client就不能能得到服务了。因为服务器之支持一个连接。网络服务器通常用fork来同时服务多个客户端,父进程专门负责监听端口,每次accept一个新的客户端... 阅读全文

posted @ 2014-09-04 07:52 牛栏山1 阅读(135) 评论(0) 推荐(0) 编辑

Linux系统编程(33)—— socket编程之TCP程序的错误处理

摘要: 上一篇的例子不仅功能简单,而且简单到几乎没有什么错误处理,我们知道,系统调用不能保证每次都成功,必须进行出错处理,这样一方面可以保证程序逻辑正常,另一方面可以迅速得到故障信息。 为使错误处理的代码不影响主程序的可读性,我们把与socket相关的一些系统函数加上错误处理代码包装成新的函数,做成一个模... 阅读全文

posted @ 2014-09-04 07:49 牛栏山1 阅读(192) 评论(0) 推荐(0) 编辑

Linux系统编程(34)—— socket编程之TCP服务器与客户端的交互

摘要: 前面几篇中实现的client每次运行只能从命令行读取一个字符串发给服务器,再从服务器收回来,现在我们把它改成交互式的,不断从终端接受用户输入并和server交互。 /* client.c */#include #include #include #include #include "wrap.h"... 阅读全文

posted @ 2014-09-04 07:49 牛栏山1 阅读(160) 评论(0) 推荐(0) 编辑

Linux系统编程(32)—— socket编程之TCP服务器与客户端

摘要: TCP协议的客户端/服务器程序的一般流程 服务器调用socket()、bind()、listen()完成初始化后,调用accept()阻塞等待,处于监听端口的状态,客户端调用socket()初始化后,调用connect()发出SYN段并阻塞等待服务器应答,服务器应答一个SYN-ACK段,客户端收... 阅读全文

posted @ 2014-09-04 07:47 牛栏山1 阅读(226) 评论(0) 推荐(0) 编辑

Linux系统编程(31)—— socket编程之TCP详解

摘要: TCP有源端口号和目的端口号,通讯的双方由IP地址和端口号标识。32位序号、32位确认序号、窗口大小稍后详细解释。4位首部长度和IP协议头类似,表示TCP协议头的长度,以4字节为单位,因此TCP协议头最长可以是4x15=60字节,如果没有选项字段,TCP协议头最短20字节。URG、ACK、PSH、... 阅读全文

posted @ 2014-09-04 07:39 牛栏山1 阅读(94) 评论(0) 推荐(0) 编辑

Linux系统编程(30)—— socket编程之TCP/IP协议

摘要: 在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别。就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样。计算机使用者意识到,计算机只是单兵作战并不会发挥太大的作用。只有把它们联合起来,电脑才会发挥出它最大的潜力。于是人们就想方设... 阅读全文

posted @ 2014-09-04 07:38 牛栏山1 阅读(76) 评论(0) 推荐(0) 编辑

Linux系统编程(29)——线程间同步(续篇)

摘要: 线程间的同步还有这样一种情况:线程A需要等某个条件成立才能继续往下执行,现在这个条件不成立,线程A就阻塞等待,而线程B在执行过程中使这个条件成立了,就唤醒线程A继续执行。在pthread库中通过条件变量(Condition Variable)来阻塞等待一个条件,或者唤醒等待这个条件的线程。Cond... 阅读全文

posted @ 2014-09-04 01:02 牛栏山1 阅读(100) 评论(0) 推荐(0) 编辑

上一页 1 ··· 15 16 17 18 19 20 21 22 23 ··· 102 下一页

导航