基于UDP的 C/S模式 网络应用程序
来源:互联网 发布:linux修改权限的命令 编辑:程序博客网 时间:2024/06/05 11:14
服务器端程序实现步骤:
1。创建套接字(socket)。
2。将套接字绑定到一个本地地址和端口上(bind)。
3。等待接收数据(recvfrom)。
4。关闭套接字。
服务器端代码:
#include<Winsock2.h>#include<stdio.h>void main(){//加载Windows Socket库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 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();}
客户端程序实现步骤:
1。创建套接字(socket)。
2。向服务器发送数据(sendto)。
3。关闭套接字。
客户端代码:#include<Winsock2.h>#include<stdio.h>void main(){//加载Windows Socket库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();}
PS:注意加入工程连接 ws2_32.lib
- 基于UDP的 C/S模式 网络应用程序
- 基于TCP的 C/S模式 网络应用程序
- 基于java开发c/s模式的数据库应用程序
- 基于UDP的C/S多播回射服务器
- 基于VxWorks嵌人式操作系统的C/S模式网络编程
- 基于UDP的C/S网络编程模型(使用sendto和recvfrom函数)
- 基于C的UDP,TCP网络编程
- windwos平台下C++实现一个基于UDP的C/S模式通信示例
- 创建基于TCP的C/S应用程序
- C++基于UDP的网络应用程序的编写
- 基于TCP和UDP网络应用程序的编写
- [C语言]基于UDP的基本C/S模型
- 基于B/S+C/S模式的期刊网络采编系统研究及其应用
- 一个简单基于UDP的回显C/S(一)
- 一个基于UDP的回显C/S(二)
- 基于C/S架构的网络聊天室
- 【C语言】【unix c】基于UDP的网络编程
- C/C++实现基于UDP的网络编程
- 提升tomcat服务器性能的七条经验
- 学习笔记#1
- 作为一个新人,怎样学习嵌入式Linux?被问过太多次,特写这
- 已知年月日,获取是星期几
- HDU2544:最短路
- 基于UDP的 C/S模式 网络应用程序
- Halcon学习(九)两幅图像之间处理
- myview.h
- myDilog1.h
- Android 升级ADT-22.01 后混淆导出APK真机运行FC出错问题解决
- Android 中调用全局Context
- StudentRecordset.cpp
- 安装软件时出现dll文件缺失
- 学习JavaScript-10-基本封包类型