UDP client.c

来源:互联网 发布:配电柜报价软件 编辑:程序博客网 时间:2024/06/05 00:41
#define _CRT_SECURE_NO_DEPRECATE
#pragma comment(lib, "ws2_32.lib")
#include<winsock2.h>
#include<stdio.h>
#include<WS2tcpip.h>
BOOL InitWinsock();
void main()
{
SOCKET socket1;
InitWinsock();
struct sockaddr_in server;
int len = sizeof(server);
struct in_addr s;
inet_pton(AF_INET, "127.0.0.1", (void *)&s);
server.sin_family = AF_INET;
server.sin_port = htons(1000);
server.sin_addr.s_addr = s.s_addr;
socket1 = socket(AF_INET, SOCK_DGRAM, 0);
while (1)
{
char buffer[1024] = "\0";
printf("input message\n");
scanf_s("%s", buffer,1024);
if (strcmp(buffer, "bye") == 0)
break;
if (sendto(socket1, buffer, sizeof(buffer), 0, (struct sockaddr*)&server, len) != SOCKET_ERROR);
{
if (recvfrom(socket1, buffer, sizeof(buffer), 0, (struct sockaddr*)&server, &len) != SOCKET_ERROR);
     printf("rece from server:%s\n", buffer);
}
}
closesocket(socket1);
}
BOOL InitWinsock()
{
int Error;
WORD VersionRequested;
WSADATA WsaData;
VersionRequested = MAKEWORD(2, 2);
Error = WSAStartup(VersionRequested, &WsaData);
if (Error != 0)
return FALSE;
else {
if (LOBYTE(WsaData.wVersion) != 2 || HIBYTE(WsaData.wHighVersion) != 2)
{
WSACleanup();
return FALSE;
}
}
return TRUE;
}
原创粉丝点击