Windows 下的最簡單的TCP伺服器客戶端
阿新 • • 發佈:2018-12-27
{
// 建立套接字
mServerSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
if (mServerSocket == INVALID_SOCKET)
{
std::cout <<"建立套接字失敗!"<< std::endl;
return;
}
// 填充伺服器的IP和埠號
mServerAddr.sin_family = AF_INET;
mServerAddr.sin_addr.s_addr = INADDR_ANY;
mServerAddr.sin_port = htons((u_short)SERVER_PORT);
// 繫結IP和埠
if ( ::bind(mServerSocket, (sockaddr*)&mServerAddr, sizeof(mServerAddr)) == SOCKET_ERROR)
{
std::cout <<"繫結IP和埠失敗!"<< std::endl;
return;
}
// 監聽客戶端請求,最大同時連線數設定為10.
if ( ::listen(mServerSocket, SOMAXCONN) == SOCKET_ERROR)
{
std::cout <<"監聽埠失敗!"<< std::endl;
return;
}
std::cout <<"啟動TCP伺服器成功!"<< std::endl;
}
// 建立套接字
mServerSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
if (mServerSocket == INVALID_SOCKET)
{
std::cout <<"建立套接字失敗!"<< std::endl;
return;
}
// 填充伺服器的IP和埠號
mServerAddr.sin_family = AF_INET;
mServerAddr.sin_addr.s_addr
mServerAddr.sin_port = htons((u_short)SERVER_PORT);
// 繫結IP和埠
if ( ::bind(mServerSocket, (sockaddr*)&mServerAddr, sizeof(mServerAddr)) == SOCKET_ERROR)
{
std::cout <<"繫結IP和埠失敗!"<< std::endl;
return;
}
// 監聽客戶端請求,最大同時連線數設定為10.
if ( ::listen(mServerSocket, SOMAXCONN) == SOCKET_ERROR)
{
std::cout <<"監聽埠失敗!"<< std::endl;
return;
}
std::cout <<"啟動TCP伺服器成功!"<< std::endl;
}