[英]Socket: get socket() in the server code
我试图在以下服务器代码中返回socket()的结果:
#include "sys/socket.h"
#include "sys/types.h"
int main(void)
{
int listenfd = 0,connfd = 0;
struct sockaddr_in serv_addr;
char sendBuff[1025];
int numrv;
listenfd = socket(AF_INET, SOCK_STREAM, 0);
printf("socket retrieve success\n");
return(listenfd);
}
我对这段代码执行了gcc,它运行良好,但是当我执行它时,它什么也没有返回。
如果成功,则socket()
返回新套接字的整数文件描述符。 如果有错误,则返回-1。 您可以检查errno
的错误代码,并可以使用perror()
打印出其文本版本。
请注意,您需要#include <netinet/in.h>
来定义struct sockaddr_in
。
这可能有助于您的理解:
#include <stdio.h>
#include <errno.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
int main(void)
{
int listenfd = 0,connfd = 0;
struct sockaddr_in serv_addr;
char sendBuff[1025];
int numrv;
listenfd = socket(AF_INET, SOCK_STREAM, 0);
if (listenfd == -1) {
printf("Failed to create socket: errno = %d\n", errno);
perror("Failed to create socket");
}
else
printf("socket created, fd = %d\n", listenfd);
return(listenfd);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.