|
参考了站内的问答,试图用ivf写一个tcp/ip的服务器,在编写accept函数时遇到的问题如下:
说明文档中,accept函数的参数如下(c++):
SOCKET WSAAPI accept(
[in] SOCKET s,
[out] sockaddr *addr,
[in, out] int *addrlen
);
实际引用时,则是
ClientSocket = accept(ListenSocket, NULL, NULL);
但是在ivf中,c函数的参数中有NULL指针时,这个空指针应该如何定义出来。
在下面列出的参考问答中,有bind函数的的调用:
文档(c++)
int WSAAPI bind(
[in] SOCKET s,
[in] const sockaddr *name,
[in] 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论坛
|
|