- 论坛徽章:
- 0
|
各位帮看下,下面这段代码在SOCKET时怎么 不成功呢。返回小于0的值啊
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
int main()
{
struct sockaddr_in seraddr, clientaddr;
int sock_fd, client_fd, client_len;
if(sock_fd = socket(AF_INET, SOCK_STREAM, 0) < 0);
{
perror("create socket error");
exit(1);
}
bzero(&seraddr, sizeof(seraddr));
seraddr.sin_family = AF_INET;
seraddr.sin_addr.s_addr = inet_addr("10.68.10.16");
seraddr.sin_port = htons(4000);
if(bind(sock_fd, (struct sockaddr *)&seraddr, sizeof(seraddr)) < 0)
{
perror("bind");
exit(1);
}
if(listen(sock_fd, 10) < 0)
{
perror("listen");
exit(1);
}
while(1)
{
char temp;
bzero(&clientaddr, sizeof(clientaddr));
socklen_t client_len = sizeof(clientaddr);
client_fd = accept(sock_fd, (struct sockaddr *)&clientaddr, &client_len);
if(client_fd < 0)
{
perror("error accept");
break;
}
} |
|