#include <stdio.h>
/* Windows socket头文件 */
#include "winsock2.h"
/* 网络API的动态链接库 */
#pragma comment(lib, "ws2_32.lib")
void main()
{
/* 初始化参数 */
SOCKET uiFdsocket;
WSADATA wsaData;
struct sockaddr_in stServerAddr;
int iAddrlen = sizeof(sockaddr_in);
char szbuffer[1024] = "\0";
/* 调用Windows Sockets DLL,成功后才能使用socket系列函数 */
if (0 != WSAStartup(MAKEWORD(2,1),&wsaData))
{
printf("Winsock init faied!\r\n");
WSACleanup();
return;
}
/* 服务器监听的端口和地址 */
memset(&stServerAddr, 0, sizeof(stServerAddr));
stServerAddr.sin_family = AF_INET;
stServerAddr.sin_port = htons(6000);
printf("input the server IP address!\n");
char IPadress[20];
scanf("%s", IPadress);
stServerAddr.sin_addr.s_addr = inet_addr(IPadress);
//printf("Please input IP address: ");
//scanf("%s", IPdotdec);
// 转换
//inet_pton(AF_INET, IPdotdec, &stServerAddr.sin_addr);
printf("Now connecting the server...\r\n");
uiFdsocket = socket(AF_INET, SOCK_DGRAM, 0);
while(true)
{
printf("Input message here...\r\n");
// scanf("%s", szbuffer);
gets(szbuffer);
if(strcmp(szbuffer, "bye") == 0)
{
printf("exit\r\n");
Sleep(100);
closesocket(uiFdsocket);
break;
}
if(SOCKET_ERROR != sendto(uiFdsocket, szbuffer,sizeof(szbuffer), 0, (struct sockaddr*)&stServerAddr, iAddrlen))
{
Sleep(100);
if (SOCKET_ERROR != recvfrom(uiFdsocket, szbuffer, sizeof(szbuffer), 0, (struct sockaddr*)&stServerAddr, &iAddrlen))
{
printf("recive from server:%s\r\n", szbuffer);
}
}
}
closesocket(uiFdsocket);
WSACleanup();
return;
}
socket编程源码——UDP协议
需积分: 9 185 浏览量
2016-06-04
23:45:49
上传
评论
收藏 2KB ZIP 举报
「已注销」
- 粉丝: 0
- 资源: 5
最新资源
- tensorflow-gpu-2.7.4-cp37-cp37m-manylinux2010-x86-64.whl
- 多段线、 圆、弧转多段线(仅我可见)
- tensorflow-2.7.2-cp38-cp38-manylinux2010-x86-64.whl
- yeyue-p8Yi4-ve4a83792.apk
- tensorflow-gpu-2.7.3-cp38-cp38-manylinux2010-x86-64.whl
- 五相感应电机矢量控制模型MATLAB
- RGLED (1) (1).circ
- IMG_20240427_215747.jpg
- python下前端WEB学习笔记
- 田间种植行排号自动生成工具
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈