基于Udp的Socket网络编程
来源:互联网 发布:足球大师数据 编辑:程序博客网 时间:2024/05/11 12:38
1.新建一个工作空间 Udp 添加两个工程UdpClient 和 UdpSrv
2.在工程UdpSrv中添加UdpSrv.cpp文件
代码如下:
#include <Winsock2.h>#include <stdio.h>void main(){WORD wVersionRequested;WSADATA wsaData;int err;wVersionRequested = MAKEWORD (1,1);err = WSAStartup(wVersionRequested , &wsaData);if (err != 0 ){return;}if (LOBYTE (wsaData.wVersion) != 1 || HIBYTE(wsaData.wVersion) != 1 ){WSACleanup();return;}//基于udp创建数据报套接字//SOCK_STREAM是基于TCP的,数据传输比较有保障,是数据流,一般是tcp/ip协议的编程//SOCK_DGRAM是基于UDP的,专门用于局域网,基于广播,是数据报,是udp协议网络编程SOCKET sockSrv = socket(AF_INET,SOCK_DGRAM,0);SOCKADDR_IN addrSrv;addrSrv.sin_addr.S_un.S_addr = htonl(INADDR_ANY);addrSrv.sin_family=AF_INET;addrSrv.sin_port=htons(6000);bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));SOCKADDR_IN addrClient;int len = sizeof(SOCKADDR);char recvBuf[100];recvfrom(sockSrv,recvBuf,100,0,(SOCKADDR*)&addrClient,&len);printf("%s\n",recvBuf);closesocket(sockSrv);WSACleanup();}
添加Link库文件 ws2_32.lib
3.在工程UdpClient中添加UdpClient.cpp文件
代码如下:
#include <Winsock2.H>#include <stdio.h>void main(){WORD wVersionRequested;WSADATA wsaData;int err;wVersionRequested = MAKEWORD(1,1);err = WSAStartup(wVersionRequested,&wsaData);if (err != 0){return;}if (LOBYTE(wsaData.wVersion) != 1 || HIBYTE(wsaData.wVersion) != 1 ){WSACleanup();return;} //无连接SOCKET sockClient = socket(AF_INET,SOCK_DGRAM,0);SOCKADDR_IN addrSrv;addrSrv.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");addrSrv.sin_family = AF_INET;addrSrv.sin_port = htons(6000);sendto(sockClient,"Hello",strlen("Hello")+1,0,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));closesocket(sockClient);WSACleanup();}
同样添加Link库文件 ws2_32.lib
4.先运行服务端程序在运行客户端程序会看到效果
- 基于Udp的Socket网络编程
- 基于UDP的windows网络Socket编程
- 基于UDP协议的Socket网络编程
- 网络编程-基于UDP的Socket网络编程(补充)
- 网络编程之基于UDP的Socket编程
- Java网络编程2(基于UDP的socket编程)
- Java网络编程——基于UDP的Socket编程
- 基于Udp的Socket网络编程聊天程序
- 基于Udp的Socket网络编程聊天程序
- 基于UDP的socket编程- -
- 基于UDP的socket编程
- 基于UDP的socket编程
- 基于UDP的socket编程
- 基于UDP的socket编程
- 基于UDP的socket编程
- 基于UDP的socket编程
- 基于udp的socket编程
- 基于UDP的Socket编程
- 文件上传 带进度条(多种多样)
- 黑马程序员_Java Web 中Session机制的学习
- php生成驗證碼,JS驗證加html代碼
- HTML5 Canvas
- Zend Framework教程-Zend的Model-简单举例
- 基于Udp的Socket网络编程
- 鼠标键盘事件
- ADO.NET相关书籍
- 通过JS控制CSS实现连帧动画
- 通过接口获取大量数据,内存溢出的问题
- 黑马程序员_Java虚拟机的学习
- SSI框架搭建相关问题
- 练习:打开,保存文件
- java继承 父类子类方法调用问题 属性和静态方法是没有多态的