c - C(函数接受)中的套接字问题
问题描述
当我创建那个套接字时,执行函数接受但这个函数会导致警告,我不知道为什么,任何人都可以帮助我吗?,我的代码片段是
serv_sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
checkError( (serv_sock < 0), "cliente: no puedo abrir un socket TCP\n");
serv_addr.sin_family = AF_INET;
serv_addr.sin_port = htons(atoi(argv[1]));
serv_addr.sin_addr.s_addr=0;
bind(serv_sock, (struct sockaddr *) &serv_addr, sizeof(serv_addr));
listen(serv_sock,5);
clilen = sizeof(cli_addr);
while(clilen > 0){
sockfd = accept(serv_sock, (struct sockaddr *) &cli_addr, &clilen);
蚂蚁的警告是:passing 'int *' to parameter of type 'socklen_t *' (aka 'unsigned int *') converts between pointers to integer types with different sign [-Wpointer-sign]
解决方案
你的声明在哪里clilen
?
应该声明:
socklen_t clilen;
而基于编译器警告,我相信您已经使用过:
int clilen;
推荐阅读
- javascript - Javascript:使用异步查询的结果附加到数组
- python - 用于管理多个网络设备的 Python
- c# - 为什么 ShoeCloset 列表中的所有鞋子对象都带有红色下划线?我在类鞋中的枚举做错了吗?
- python - 在 Python 中过滤非空目录的有效方法
- android - 我的应用无法在新的 android 版本上运行
- python - b.sum() 产生 0 而 b.rolling(2).sum() 产生 nan,其中 b=pd.Series([np.nan, np.nan])
- jenkins - 在 GitHub 的拉取请求期间将文件从一个分支排除到另一个分支?
- arrays - 有人可以详细解释一下这个数组是如何一步一步地映射的吗
- regex - 在 MongoDB 的 $searchBeta 中使用正则表达式运算符时,格式化正则表达式元字符和选项的正确方法是什么?
- assembly - 将 llvm IR 转换为 NASM 程序集