Welcome

首页 / 软件开发 / C# / socket编程学习笔记(1), Unix Socket和Windows Socket

socket编程学习笔记(1), Unix Socket和Windows Socket2011-03-12 cnblogs codeone1,关于Unix Socket

1.1 什么是Socket?

Socket是网络文件描述符。在基于Socket的编程技术中,用户不直接访问发送和接收包的网络接口设备,而是建立一个中间文件描述符来处理编程接口到网络的操作。

1.2 Socket包括哪些内容?

一个特殊的通信域,比如一个网络连接

一个特殊的通信类型,比如流或者数据报

一个特殊的协议,比如TCP或者UDP

1.3 Unix的Socket() C函数详细说明:

int socket(int domain, int type, int protocol)

domain的取值:

PF_UNIX Unix IPC通信

PF_INET IPV4通信

PF_INET6IPV6

PF_IPX Novell IPX

PF_NETLINKKernel用户接口驱动程序

PF_X25 X.25

PF_AX25

PF_ATMPVCATM PVC

PF_APPLETALKAppleTalk协议

PF_PACKET低级包接口

type的取值:

SOCK_STREAM使用面向连接的通信包

SOCK_DGRAM使用无连接的通信包

SOCK_SEQPACKET使用有固定最大长度的面向连接的通信包

SOCK_RAW使用原IP包

SOCK_RDM使用不保证次序的可靠数据报

Protocol:

一般使用与type对应的默认协议,用0表示。

例如: int newsocket = socket(PF_INET, SOCK_STREAM, 0 );//使用TCP