<分区>
我的代码接受传入连接并将它们存储在一个数组中。
if(i == sockServer){
//handle incoming connection
addrlen = sizeof(remoteaddr);
sockClient = accept(sockServer, (struct sockaddr*)&remoteaddr, &addrlen);
if(sockClient < 0){
perror("Accept failed: ");
}else{
FD_SET(sockClient, &master);
if(sockClient > fdmax){
fdmax = sockClient;
}
IpList[connectionCount] = remoteaddr;
connectionCount++;
在代码的后面,当我尝试迭代数组并打印出连接的 Ip 地址和端口号时,我得到以下信息。
for (int i = 0; i < connectionCount; ++i)
{
struct sockaddr_in tempSock = IpList[connectionCount];
printf("%d %s %d\n", connectionCount, inet_ntoa(tempSock.sin_addr), ntohs(tempSock.sin_port));
}
0 0.0.0.0 0
1 0.0.0.0 0
数组是静态分配的数组
struct sockaddr_in IpList[256];
我做错了什么。