我在Windows中有调用getsockname的代码如下:getsockname(*x,NULL,0)第三个参数(namelen)是IN\Out参数,包含名称缓冲区的大小,以字节为单位。返回时,namelen参数包含name参数的实际大小(以字节为单位)。现在,我的问题是,如果name等于null,namelen等于零,会发生什么?我在linux中看到,如果name为NULL,namelen被忽略,但MSDN没有提及任何关于这种情况的信息。.MSDN链接是hereLinux的IBM链接是here提前致谢 最佳答案 在您的代码中,您
我在使用getsockname函数时遇到问题。我有这段代码:structsockaddrsa;intsa_len;sa_len=sizeof(sa);if(getsockname(socketfd,&sa,&sa_len)!=SOCKET_ERROR){///}else{interror=WSAGetLastError();//errorhereWSAEFAULTalways}如您所见,我在使用getsockname函数时总是出错。错误-WSAEFAULT。但为什么?结构和结构尺寸都对,为什么会这样?WSAEFAULT描述:Thenameorthenamelenparameterisn
😁博客主页😁:🚀https://blog.csdn.net/wkd_007🚀🤑博客内容🤑:🍭嵌入式开发、Linux、C语言、C++、数据结构、音视频🍭🤣本文内容🤣:🍭介绍getsockname和getpeername函数详解及C语言例子🍭😎金句分享😎:🍭你不能选择最好的,但最好的会来选择你——泰戈尔🍭本文未经允许,不得转发!!!目录🎄一、概述🎄二、getsockname函数✨2.1getsockname函数介绍✨2.2getsockname函数例子🎄三、getpeername函数✨3.1getpeername函数介绍✨3.2getpeername函数例子🎄四、总结🎄一、概述在网络编程中,套接字
我想不通。谁能告诉我为什么会出现此错误:警告:从不兼容的指针类型传递“getsockname”的参数2在下面的代码中:#include#include#include#include#include#includeintmain(){intsd;structsockaddr_inmy_addr;bzero(&my_addr,sizeof(my_addr));my_addr.sin_family=AF_INET;my_addr.sin_addr.s_addr=inet_addr("127.0.0.1");my_addr.sin_port=htons(0);my_addr.sin_addr
这是一个使用TCP套接字的简单文件服务器文件,当我运行它时,出现以下错误。谁能告诉我这个问题的解决方案importsocket#Importsocketmodules=socket.socket()#Createasocketobjecthost=socket.gethostname()#Getlocalmachinenameport=socket.getsockname()#Reserveaportforyourservice.block_size=1024#fileisdividedinto1kbsizes.bind((host,port))#Bindtotheport#f=ope