tcp服务器accept()的空指针参数
参考了站内的问答,试图用ivf写一个tcp/ip的服务器,在编写accept函数时遇到的问题如下:说明文档中,accept函数的参数如下(c++):
SOCKET WSAAPI accept(
SOCKET s,
sockaddr *addr,
int *addrlen
);
实际引用时,则是
ClientSocket = accept(ListenSocket, NULL, NULL);
但是在ivf中,c函数的参数中有NULL指针时,这个空指针应该如何定义出来。
在下面列出的参考问答中,有bind函数的的调用:
文档(c++)
int WSAAPI bind(
SOCKET s,
const sockaddr *name,
int namelen
);
实际引用,
status = bind(hSocket, %ref(BindInfo%sockaddr),&
sizeof(BindInfo%sockaddr))
bind()的参数类型和accept()类似,但是bind的参数都是已经经过明确定义的,不同于单纯的空指针。虽然参照bind的参数去套accept的参数,但是没能成功。
另外需要指出,调用时没有使用iso_c_binding内置模块的,是因为上述的bind引用中,bind函数也是直接调用的。
请问有人有这类问题的解决方法或者建议吗?
附上参考的问答帖子:fortran语言实现socket通信/winsock-编程工具交流-专业Fortran论坛
NULL 写 0 就行了 本帖最后由 ricardo99 于 2021-12-21 17:26 编辑
fcode 发表于 2021-12-20 18:17
NULL 写 0 就行了
成功了,谢谢。
虽然看到你回复的另一个帖子的回答,但是不知道直接输入0就行,没转过弯来。
fortran的空指针问题(调用C函数)-编程工具交流-专业Fortran论坛
页:
[1]