私はクライアント サーバー プログラムを持っていて、サーバーをサービスに変更したいと考えていました。だから私はここSvp.cppからいくつかのコードを取りました。正常に動作しますが、UDP を使用してクライアント サーバーを作成したので、サービスにメッセージを送信する別の方法があるのではないかと考えていました。クライアントはサーバー(サービス)にメッセージを送信し、サーバーはそれらをエコーバックするだけです。メッセージの送受信に UDP または TCP 接続が必要ですか?
クライアントからメッセージを受信するプログラムの一部を次に示します (残りのコードは Svp.cpp から取得します)。
SOCKET socketS;
InitWinsock();
struct sockaddr_in local;
struct sockaddr_in from;
int fromlen = sizeof(from);
local.sin_family = AF_INET;
local.sin_port = htons(1234);
local.sin_addr.s_addr = INADDR_ANY;
socketS = socket(AF_INET,SOCK_DGRAM,0);
bind(socketS,(sockaddr*)&local,sizeof(local));
while (1)
{
char buffer[1024];
ZeroMemory(buffer, sizeof(buffer));
if (recvfrom(socketS,buffer,sizeof(buffer),0,(sockaddr*)&from,&fromlen)!=SOCKET_ERROR)
{
sendto(socketS, buffer, sizeof(buffer), 0, (sockaddr*)&from, fromlen);
}
}
closesocket(socketS);