因工作需要在IPV6环境下测试收发TCP,UDP数据包,写了个小工具,在此记录一下。
* TCP - Server
WORD wVersionRequested;
WSADATA wsaData;
int nError;
wVersionRequested = MAKEWORD(1, 1);
nError = WSAStartup(wVersionRequested, &wsaData); //Socket 版本
if (nError != 0)
{
return -1;
}
int sockfd_V6, new_fd_V6, sockfd_V4, new_fd_V4;
socklen_t len;
struct sockaddr_in6 my_addr_V6, their_addr_V6;
struct sockaddr_in my_addr_V4, their_addr_V4;
char szBuf[MAX_BUF_10] = {'\0'};
if ((sockfd_V6 = socket(PF_INET6, SOCK_STREAM, 0)) == -1)//创建socket
{
AfxMessageBox(_T("Craete socket Error!"));
return -1;
}
memset(&my_addr_V6, 0 ,sizeof(sockaddr_in6));
memset(&their_addr_V6, 0 ,sizeof(sockaddr_in6));
my_addr_V6.sin6_family = PF_INET6;
my_addr_V6.sin6_port = htons(pDlg->m_nLocalPort); //端口号
my_addr_V6.sin6_addr = in6addr_any