线程间socket通信
main函数中参数argc和argv含义及用法
argc 是 argument count的缩写,表示传入main函数的参数个数;
argv 是 argument vector的缩写,表示传入main函数的参数序列或指针,并且第一个参数argv[0]一定是程序的名称,并且包含了程序所在的完整路径,所以确切的说需要我们输入的main函数的参数个数应该是argc-1个;
argv是指向指针的指针,main函数的第二个参数“char *argv[]“也可以替换为 “char **argv“,两者是等价的。
argv[0] 指向程序运行时的全路径名
argv[1] 指向程序在DOS命令中执行程序名后的第一个字符串
argv[2] 指向执行程序名后的第二个字符串
argv[argc] 为NULL.
线程间的服务器通信
#include <stdio.h>
#include <pthread.h>
#include "wrap.h"
typedef struct c_info
{
int cfd;
struct sockaddr_in cliaddr;
}CINFO;
void* client_fun(void *arg);
int main(int argc, char *argv[])
{
if(argc < 2)
{
printf("argc < 2??? \n ./a.out 8000 \n");
return 0;
}
// 线程分离,系统自动回收线程资源
pthread_attr_t attr;
pthread_attr_init(&attr);
pthread_attr_setdetachstate(