当前位置: 技术问答>linux和unix
accept无法获取客户端ip问题
来源: 互联网 发布时间:2017-05-14
本文导语: centos6.4(64位)环境下,使用select方式处理socket,accept第一次连接时无法获取客户端ip(在32位环境下可以正常获取客户端ip)。烦请有经验的解释下其中的原委!代码如下: #include #include #include #include #include #include...
centos6.4(64位)环境下,使用select方式处理socket,accept第一次连接时无法获取客户端ip(在32位环境下可以正常获取客户端ip)。烦请有经验的解释下其中的原委!代码如下:
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define LISTEN_IP "0.0.0.0"
#define LISTEN_PORT 818
#define MAX_SOCKFD 10
#define BUFFER_SIZE 256
int main(int argc, char *argv[]) {
int sockfd;
struct sockaddr_in server_addr;
int is_connected[MAX_SOCKFD] = {0,};
fd_set readfds;
int fd;
int newfd;
struct sockaddr_in client_addr;
socklen_t addr_len;
char buffer[BUFFER_SIZE];
int optval = 1;
sockfd = socket(AF_INET, SOCK_STREAM, 0);
if(sockfd