#include <iostream>
#include <WinSock2.h>
#include <Windows.h>
using namespace std;
SOCKET listener,connector;
SOCKADDR_IN myAddress,remoteAddress;
int main()
{
ネットワーク用にウィンドウを初期化する
WSAData wdata;
WSAStartup(MAKEWORD(2,2),&wdata);
リスナーの初期化
ZeroMemory(&listener,sizeof(listener));
ZeroMemory(&connector,sizeof(connector));
listener = socket(AF_INET,SOCK_STREAM,0);
構造体 SOCKADDR_IN myAddress に値を割り当てます
myAddress.sin_addr.s_addr = INADDR_ANY; //accept any ip
myAddress.sin_family = AF_INET;//tcp
myAddress.sin_port = htons(7000);//changing 7000 port to string with htons method
リスナーソケットとアドレスをバインドして、リスナーにどこを見るかを指示します
if(bind(listener,(LPSOCKADDR)&myAddress,sizeof(listener)))
{
cout<< "bound";
}
//listen method
if(listen(listener,1));
{
cout<<"Waiting";
}
int Size = sizeof(remoteAddress);
リッスンし続けるために無限ループを初期化する
while(true)
{
connector = accept(listener,(LPSOCKADDR)&remoteAddress,&Size);
//read connection request
if(sizeof(connector)< 0)
{
cout <<"noinfo\n";
}
}
}
クライアントが接続されていなくても、コードは「情報なし」を表示しません:O私は間違ったことを知りません:( plsは私を助けてくれます