VS Windowsでのネットワーク開発UDP(一)
3111 ワード
次のコードは直接実行できます(属性でC++のSDLチェックを変更する必要がありますので、オフにすればいいです)
実はとても簡単です.
コードは次のとおりです.
実はとても簡単です.
コードは次のとおりです.
#include
#include
using namespace std;
#pragma comment(lib, "WS2_32.lib")
int main() {
WSADATA data; //
WORD w = MAKEWORD(2, 0); //
::WSAStartup(w, &data); //
char sztext[] = "Welcome
"; //
SOCKET s; //
s = ::socket(AF_INET, SOCK_DGRAM, 0); //
sockaddr_in addr, addr2; //
int n = sizeof(sztext); //
char buff[10] = { 0 }; //
addr.sin_family = AF_INET;
addr.sin_port = htons(75); // ip
addr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");// ip
::bind(s, (sockaddr*)&addr, sizeof(addr)); //
cout << "UDP Server is Working!
";
while (1) {
if (::recvfrom(s, buff, 10, 0, (sockaddr*)&addr2, &n) != 0) {// 。
cout << inet_ntoa(addr2.sin_addr) << " have linked!
";
cout << "The message is " << buff << endl;
::sendto(s, sztext, sizeof(sztext), 0, (sockaddr*)&addr2, n);
break;
}
}
::closesocket(s);
::WSACleanup();
system("pause");
return 0;
}