您的位置:

c语言accept返回值,accept返回0

本文目录一览:

c语言socket编程中accept的阻塞问题

端口就是负责监听连接请求的.如果监听到该端口的请求那么就可以确定是对你这个服务器的请求.一旦这个端口被占用,那么其它任何程序都无法再使用这个端口.所以我们要避开系统常用端口,要从1024以上的端口选择.

在服务器端

sin_port

是不可以被设置为0的,

否则客户端的确无法连接.

而客户端可以设置为0,客户端可以任意端口的,没有影响.

c语言的返回值是什么意思啊?

函数返回值的意思是将函数实现的结果返回给调用者。

按标准来说,C的main函数是需要有返回值的。标准中main函数返回类型是int的,所以需要一个返回值。但是由于历史原因,很多地方可以看到没有返回值的main。

比如直接main()或者说void main() 但是这样一般编译器也不会认为错误,不过建议还是写标准的C的main函数,最好有一个返回值,0表示正常退出。

扩展资料:

需要说明的是:

1、一个C语言源程序可以由一个或多个源文件组成。

2、每个源文件可由一个或多个函数组成。

3、一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。是整个程序的入口。

4、源程序中可以有预处理命令(包括include 命令,ifdef、ifndef命令、define命令),预处理命令通常应放在源文件或源程序的最前面。

5、每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。(结构体、联合体、枚举型的声明的“}”后要加“ ;”。)

6、标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。

参考资料来源:百度百科-函数

谁能告诉我accept()函数返回一个新的套接字,所谓新套接字怎么理解?

谁能告诉我accept()函数返回一个新的套接字,所谓新套接字就是说这个是新产生的套接字,并不是你用来accept的那个监听的套接字。

accept()函数用于一个套接口接受一个连接。accept()是c语言中网络编程的重要的函数,windows系统在#includewinsock.h ,而linux系统在#include sys/socket.h中。

int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);

参数

sockfd:套接口描述字,该套接口在listen()后监听连接。

addr:(可选)指针,指向一缓冲区,其中接收为通讯层所知的连接实体的地址。Addr参数的实际格式由套接口创建时所产生的地址族确定。

addrlen:(可选)指针,输入参数,配合addr一起使用,指向存有addr地址长度的整型数。

实例:

#ifndef UNICODE

#defineUNICODE

#endif

#include winsock2.h

#include stdio.h

#include windows.h

#pragmacomment(lib,"Ws2_32.lib")

int wmain(void)

{

WSADATAwsaData ;

intiResult=WSAStartup(MAKEWORD(2,2),wsaData);

if(iResult!=NO_ERROR)

{

wprintf(L "WSAStartupfailedwitherror:%ld\n",iResult);

return 1 ;

}

SOCKETListenSocket ;

ListenSocket=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);

if(ListenSocket==INVALID_SOCKET)

{

wprintf(L "socketfailedwitherror:%ld\n",WSAGetLastError());

WSACleanup();

return 1 ;

}

sockaddr_inservice ;

service.sin_family=AF_INET ;

service.sin_addr.s_addr=inet_addr("127.0.0.1");

service.sin_port=htons(27015);

if(bind(ListenSocket,

(SOCKADDR*)service,sizeof(service))==SOCKET_ERROR)

{

wprintf(L"bindfailedwitherror:%ld\n",WSAGetLastError());

closesocket(ListenSocket);

WSACleanup();

return 1 ;

}

if(listen(ListenSocket,1)==SOCKET_ERROR)

{

wprintf(L"listenfailedwitherror:%ld\n",WSAGetLastError());

closesocket(ListenSocket);

WSACleanup();

return 1 ;

}

SOCKETAcceptSocket ;

wprintf(L "Waitingforclienttoconnect...\n");

AcceptSocket=accept(ListenSocket,NULL,NULL);

if(AcceptSocket==INVALID_SOCKET)

{

wprintf(L "accept failed with error:%ld\n",WSAGetLastError());

closesocket(ListenSocket);

WSACleanup();

return 1 ;

}

else

wprintf(L "Clientconnected.\n");

//Nolongerneedserversocket

closesocket(ListenSocket);

WSACleanup();

return 0 ;

}

c语言accept返回值,accept返回0

2023-01-04
c语言send函数返回值,C语言printf返回值

2023-01-05
c语言如何返回到某一行,c语言返回值返回到哪

本文目录一览: 1、c语言中如何将某一个值带回到某一行 2、C语言打印了\n之后怎么退回上一行? 3、c语言编写程序如何在程序结束时返回到开始行 4、C语言中有没有能返回上一行的控制符? 5、怎样使C

2023-12-08
c语言循环返回值,c语言返回值怎么理解通俗

本文目录一览: 1、C语言中函数循环里有个返回,循环外有个返回,返回的是哪个 2、c语言for循环中return作用是什么? 3、c语言怎样把一个函数里面的一个循环的所有结果依次返回 4、c语言中wh

2023-12-08
c语言123返回值,c语言中!123的值

2022-11-26
c语言用函数返回数组,C语言 函数返回数组

2023-01-07
curl对返回的json(curl 返回结果)

本文目录一览: 1、php curl 怎样可以返回 json的数据? 2、关于curl返回值问题,怎么返回的html,希望返回json格式.tp3.2 3、shell curl 返回值 是什么意思 p

2023-12-08
c语言strptine,c语言strptime的返回值

2022-11-23
c语言中函数返回值类型由什么决定,c语言中函数返回值类型由什

2023-01-03
c语言中ret=fn,c语言中return返回值的用法总结

2022-12-01
基础c语言笔记,C语言笔记

2023-01-06
c语言一个函数怎么返回数组,c语言函数怎么调用数组也返回数组

2023-01-05
c语言中数组返回值文档介绍内容,c++函数返回字符数组

2022-11-26
一篇c语言笔记,c语言入门笔记

2022-12-02
socket组包c语言,c语言的socket编程

2022-11-28
c到c语言笔记,cc在c语言

2022-11-27
c语言知识笔记,c语言最全笔记

2023-01-04
深入探讨HTTP头部的Accept-Language字段

2023-05-19
c语言笔记讲解,c语言程序笔记

2022-11-23
c语言sprtf,c语言sprt返回值

2022-11-25