Ununtu Linux Socket 程序,调用send后进程自动退出,大侠们帮忙诊断一下什么原因啊?
服务器端程序步骤:1:建立一个Socket成功//CreateServerServerPortserv_servfd=socket(AF_INET,SOCK_STREAM...
服务器端程序步骤:
1:建立一个Socket 成功
// Create Server Server Port
serv_servfd = socket( AF_INET, SOCK_STREAM, 0 );
2:bind Socket 成功
l1 = bind( serv_servfd, (struct sockaddr *)&servaddr, sizeof( servaddr ));
3:Listen Socket 成功
l2 = listen( serv_servfd, ConnectNumber );
4:Accept 成功
cli_clifd = accept( serv_servfd, (struct sockaddr *)&cliaddr, &slcklen );
5:Send 此处异常退出进程,length == -1
length = send( serv_servfd, "Hello", 5, 0 );
6:cout << "OK" << endl; 此处没有执行
客户端程序步骤:
1:建立一个Socket 成功
// Create Client Client Port
cli_clifd = socket( AF_INET, SOCK_STREAM, 0 );
2:bind socket 成功
l1 = bind( cli_clifd, (struct sockaddr *)&cliaddr, sizeof( cliaddr ));
3:conncet Server socket 成功
l2 = connect( cli_clifd, (struct sockaddr *)&servaddr, slcklen );
4:recv 成功,但是只接受到0个字节 length == 0
length = recv( cli_clifd, socketbuf2, 5, 0 );
请各位大侠帮忙看看哪里有问题吗?
谢谢!找到Bug。 展开
1:建立一个Socket 成功
// Create Server Server Port
serv_servfd = socket( AF_INET, SOCK_STREAM, 0 );
2:bind Socket 成功
l1 = bind( serv_servfd, (struct sockaddr *)&servaddr, sizeof( servaddr ));
3:Listen Socket 成功
l2 = listen( serv_servfd, ConnectNumber );
4:Accept 成功
cli_clifd = accept( serv_servfd, (struct sockaddr *)&cliaddr, &slcklen );
5:Send 此处异常退出进程,length == -1
length = send( serv_servfd, "Hello", 5, 0 );
6:cout << "OK" << endl; 此处没有执行
客户端程序步骤:
1:建立一个Socket 成功
// Create Client Client Port
cli_clifd = socket( AF_INET, SOCK_STREAM, 0 );
2:bind socket 成功
l1 = bind( cli_clifd, (struct sockaddr *)&cliaddr, sizeof( cliaddr ));
3:conncet Server socket 成功
l2 = connect( cli_clifd, (struct sockaddr *)&servaddr, slcklen );
4:recv 成功,但是只接受到0个字节 length == 0
length = recv( cli_clifd, socketbuf2, 5, 0 );
请各位大侠帮忙看看哪里有问题吗?
谢谢!找到Bug。 展开
3个回答
展开全部
I never think of the future. It comes soon enough.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
服务端5,应该是length = send( cli_clifd, "Hello", 5, 0 );
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询