江油实习-unix网络编程&c/c++

1、int:socket(AF_INET, SOCK_STREAM, 0)。返回文件描述符。 出错返回-1。

2、int iFlag; setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, (const void*)&iFlag, sizeof(iFlag))。fd可重复使用。

3、struct sockaddr_t addr; bind(fd, (struct sockaddr*)&addr, sizeof(addr))。 绑定。出错返回-1。

4、listen(fd, 1024)。开始监听。出错返回-1。

5、struct sockaddr_in addr;

   socklen_t addrLen = sizeof(addr);

   accept(fd, (struct sockaddr*)&addr, &addrLen)。返回文件描述符。fd为socket的返回值。出错返回-1。

6、char* strerror(errno):将errno转化成字符串。

7、inet_ntop(AF_INET, const void *src, char *dst, socklen_t size):将src代表的数值格式转化为表达式格式,存储在dst中。size为dst的长度。

8、ntohs( (struct sockaddr_t).sin_port ):网络序转化为本地序。

   htons(8888):将本地序转化为网络序 (struct sockaddr_t).sin_port。

9、ssize_t read(fd, char* buf, sizeof(buf)-1):从文描述符fd中读入到buf中,返回真正读入的字符个数。出错返回-1。

10、close(fd):关闭文件描述符。

11、write(fd, char* buf, (ssize_t)size):从buf中写size个字符到fd中。

12、fd_set readSet 

    FD_ZERO(&readSet);

    FD_SET(要监听的文件描述符, &readSet);

    FD_CLR(要清除的文件描述符, &readSet);

   int eventCnt = select(maxFd+1, readSet, writeSet, excepSet, NULL);

13、cin.ignore(1024, '\n'):读入1024个字符直到遇到\n。

14、struct sockaddr_in addr;

       addr.sin_family = AF_INET;
       addr.sin_port = htons(8888);
       addr.sin_addr.s_addr = inet_addr("127.0.0.1");
       connect(iSockFd, (struct sockaddr*)&addr, sizeof(addr)) ; 客户端连接addr内的IP地址。出错返回-1。

15、volatile int x;x必须会放在内存中。

16、waitpid(-1, int *, WNOHANG):-1表示等待任意子进程,终止进程的状态存放在int*中。返回子进程pid。出错返回-1。

17、 struct sigaction stAction;

        stAction.sa_handler = ProcessSigINT(函数名称);

        stAction.sa_flags = 0;

        sigemptyset(&(stAction.sa_mask));

        sigaction(SIGINT, &stAction, NULL);中断信号SIGINT到来时调用ProcessSigINT函数。继续阻塞。

18、signal(SIGCHLD, ProcessSigChild):信号SIGCHLD到来时调用ProcessSigChild。不阻塞。

19、__sync_fetch_and_add(int* x, int t);*x+=t,返回未加t之前的*x。

20、C++的string的一个构造函数:string(char* str, int size),将字符串str的前size个字符构造成string。

 

你可能感兴趣的:(c/c++)