摘要: 在学习用套接字做一些有意义的事情之前,需要知道如何确定一个目标通信进程。进程的标识有两个部分:计算机的网络地址可以帮助标识网络上想与之通信的计算机,而服务可以帮助标识计算机上特定的进程。1、字节序运行在同一台计算机上的进程相互通信时,一般不用考虑字节的顺序(字节序),字节序是一个处理器架构特性,用于指示像整数这样的大数据类型的内部字节顺序。图16-1显示一个32位整数内部的字节是如何排序的。 图16-1 32位整数内部的字节序如果处理器架构支持大端(big-endian)字节序,那么最大字节地址对应于数字最低有效字节(LSB);小端(little-endian)字节序则相反:数字最低字节对应于 阅读全文
posted @ 2014-02-24 21:14 ITtecman 阅读(1225) 评论(0) 推荐(0) 编辑
摘要: 套接字是通信端点的抽象。与应用程序要使用文件描述符访问文件一样,访问套接字也需要套接字描述符。套接字描述符在UNIX系统是用文件描述符实现的。事实上,许多处理文件描述符的函数(如read和write)都可以处理套接字描述符。 要创建一个套接字,可以调用socket函数。 #include int socket(int domain, int type, int protocol);返回值... 阅读全文
posted @ 2014-02-24 15:23 ITtecman 阅读(4306) 评论(0) 推荐(0) 编辑
摘要: 网络进程间通信(network IPC):不同计算机(通过网络相连)上运行的进程相互通信的机制。 套接字网络IPC接口:进程能够使用该接口和其他进程通信。通过该接口,其他进程运行位置是透明的,它们可以在同一台计算机上也可以在不同的计算机上。实际上这正是套接字接口的目标之一:同样的接口既可以用于计算机间通信又可以用于计算机内通信。 本篇博文内容摘自《UNIX环境高级编程》(第2版),仅作个... 阅读全文
posted @ 2014-02-24 13:51 ITtecman 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 下面详细说明客户进程和服务器进程的某些属性,这些属性受到它们之间所使用的IPC类型的影响。最简单的关系类型是使客户调用fork然后调用exec执行所希望的服务器进程。在fork之前先创建两个半双工管道使数据可在两个方向传输。http://www.cnblogs.com/nufangrensheng/p/3561379.html中的图15-8是这种形式的一个例子。被执行的服务器程序可能是设置用户ID的程序,这使它具有了特权。服务器进程查看客户进程的实际用户ID就可以决定客户进程的身份。(回忆http://www.cnblogs.com/nufangrensheng/p/3510821.html, 阅读全文
posted @ 2014-02-24 13:38 ITtecman 阅读(1461) 评论(0) 推荐(0) 编辑
摘要: POSIX信号量接口,意在解决XSI信号量接口的几个不足之处:POSIX信号量接口相比于XSI信号量接口,允许更高性能的实现。POSIX信号量接口简单易用:没有信号量集,其中一些接口模仿了我们熟悉的文件系统操作。POSIX信号量删除时的处理更加合理。XSI信号量被删除后,使用该信号量标识符的操作将会出错返回,并将errno设置为EIDRM。而对于POSIX信号量,操作可以继续正常执行,直到对该信号量的最后一个引用被释放。POSIX信号量有两种形式可供选用:有名和无名。它们的区别在于,如何被创建和销毁,其他方面则完全相同。无名信号量只存在于内存中,并且规定能够访问该内存的进程才能够使用该内存中的 阅读全文
posted @ 2014-02-24 11:25 ITtecman 阅读(4852) 评论(0) 推荐(0) 编辑