连接错误:套接字上的参数无效

大比利

我有这个代码

Server:
//"sock" has already been created with no problem and binding as well

void Connection::bind_connection(int port){
    cout << "Port " << port << endl;
    server.sin_family = AF_INET ;
    server.sin_addr.s_addr = htonl(INADDR_ANY);
    server.sin_port = htons(port);
    /* Bind socket to address */
    struct sockaddr *serverptr = ( struct sockaddr *) &server;
    if ( bind ( sock , serverptr , sizeof(server) ) < 0) {
        perror("Binding error"); exit(BE);
    }
    cout << "Server binding completed!" << endl;
}    

struct sockaddr_in client ;
socklen_t clientlen ;
struct sockaddr * clientptr =( struct sockaddr *) &client ;
if ( listen (sock , MAX_CONNECTIONS) < 0) {perror("listening error"); exit(LE);}
cout << "Listening for connections to port " << port << endl;
while (1) {
    /* accept connection */
    if (( newsock = accept ( sock , clientptr , &clientlen ) ) < 0) {
        perror("Accepting error"); cout << "Errno = " << errno << endl; exit(AE);
    }
    //Code
    ....
}

Client:
//struct sockaddr_in server; <--- declared as data member of class "Connection"
//"sock" has already been created with no problem
void Connection::do_connect(){
    struct sockaddr *serverptr = ( struct sockaddr *) &server;
    if ( connect ( sock , serverptr , sizeof (server) ) < 0)
         perror("client connect"); exit(CE);
    cout << "Client connecting to the server" << endl;
}

我得到以上消息。大多数代码是从课程幻灯片中复制的,但可以根据我的需要进行修改。谷歌搜索问题,似乎我在syscall上给出了错误的大小。知道问题出在哪里吗?提前致谢。

ALK

这些行总是退出:

if ( connect ( sock , serverptr , sizeof (server) ) < 0)
     perror("client connect"); exit(CE);

您可能会开始考虑使用其他缩进方案。通常,每行不使用一个以上的语句。

对于上面的代码indent,像这样的工具会像这样格式化它:

if (connect (sock, serverptr, sizeof (server)) < 0)
  perror("client connect");
exit(CE);

这种格式使编程错误很明显。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

android设备上的套接字连接拒绝错误

来自分类Dev

套接字错误:[Errno 111]在Ubuntu上拒绝连接

来自分类Dev

套接字编程连接错误

来自分类Dev

套接字未绑定()-无效参数

来自分类Dev

提供了python套接字绑定无效参数

来自分类Dev

Postgres DB无法在Mac OSX上启动:错误提示:Unix域套接字上的连接

来自分类Dev

TCP套接字拒绝连接错误#10061

来自分类Dev

Node.js套接字连接错误

来自分类Dev

套接字连接错误'null',Android

来自分类Dev

连接中的Lua套接字错误

来自分类Dev

Python SimpleXMLRPCServer:套接字错误,连接被拒绝

来自分类Dev

无法在Treeline上连接套接字

来自分类Dev

Java上的套接字连接,指定IP

来自分类Dev

TCP套接字上的长连接

来自分类Dev

Python套接字输出错误的参数

来自分类Dev

错误:在连接mongodb的Windows上没有UNIX套接字支持

来自分类Dev

在套接字Java上收到多个错误

来自分类Dev

无法分配新的套接字,抛出无效的参数异常

来自分类Dev

来自 C 中 sendto() 套接字程序的无效参数

来自分类Dev

在函数参数/套接字中发送std :: string时,basic_string :: __ S_construct null无效错误

来自分类Dev

HRegionServer 显示“错误告诉主人我们已启动”。显示套接字异常:无效参数

来自分类Dev

当套接字无效时

来自分类Dev

Mosquitto MQTT连接套接字错误(通过PLC连接)

来自分类Dev

当我连接的套接字多于为侦听而指定的参数backlog时,为什么没有出现错误?

来自分类Dev

套接字连接超时

来自分类Dev

套接字TCP连接

来自分类Dev

我的套接字程序中出现连接错误

来自分类Dev

错误:传输端点未连接(Python套接字)

来自分类Dev

Android套接字连接的IP错误导致冻结

Related 相关文章

热门标签

归档