日期:2014-05-16  浏览次数:20593 次

Unix Socket编程
.Socket
  Socket是TCP/IP网络的API,   可以用它来开发网络应用程序

  Socket数据传输是一种特殊的I/O,   Socket也是一种文件描述符


.Socket的建立
  int   socket(int   domain,     int   type,     int   protocol)

  函数返回:  
                    一个整型的Socket描述符,   可以在后面调用它

  参数说明:  
                    int   domain           指明所使用的协议族,   通常是PF_INET,   表示网络(TCP/IP)协议族
                                                  说明我们网络程序所在的主机采用的通讯协族(AF_UNIX和AF_INET等).  
                            AF_UNIX   :     只能够用于单一的Unix系统进程间通信,
                            AF_INET   :     是针对Internet的,因而可以允许在远程主机之间通信
                          (当我们man   socket时发现domain可选项是   PF_*而不是AF_*,因为glibc是posix的实现所以用PF代替了AF,不过我们都可以使用的)
                    int   type               指定socket的类型,   通常是   SOCK_STREAM   流式Socket这样会提供按顺序的,可靠,双向,面向连接的比特流和SOCK_DGRAM数据报式Socket这样只会提供定长的,不可靠,无连接的通信
                    int   prottocol     通常为0   由于我们指定了type,所以这个地方我们一般只要用0来代替就可以了



------解决方案--------------------
为什么不附个实例呢?

------解决方案--------------------
mark
------解决方案--------------------
顶一个
------解决方案--------------------
UP``
------解决方案--------------------
这个.....网上有的是啊

------解决方案--------------------
感觉搞unix的人太少,讨论的不多。希望日后能多一些人参与这方面的开发。
------解决方案--------------------
chinaunix比较多
------解决方案--------------------
好贴,收藏

thanks~~~
------解决方案--------------------
recv函数的“如果flags为0,则和read,write一样的操作.”这一句具体什么含义呢?一直不明白,接收以后是清除还是不清除缓冲区啊?