实现UDP协议,socket编程,调用到windowsAPI,实现客户端和服务器
来源:互联网 发布:windows7优化内存 编辑:程序博客网 时间:2024/06/08 06:04
服务器部分:
利用socket
语言:C 语言
环境:可以编译的环境
代码如下:
#include <stdio.h>#include <stdlib.h>#include <winsock2.h>int main(){ WSADATA wsaData; SOCKET RecvSocket; struct sockaddr_in RecvAddr; int port = 27015; char RecvBuf[1024]; int BufLen = 1024; int len =0; int flag = 0; FILE* fp; struct sockaddr_in SenderAddr; int SenderAddrSize = sizeof(SenderAddr); // WSAStartup(MAKEWORD(2, 2), &wsaData); RecvSocket = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); RecvAddr.sin_family = AF_INET; RecvAddr.sin_port = htons(port); RecvAddr.sin_addr.s_addr = htonl(INADDR_ANY); // 用于多方面数据的接受,符合服务器的数据传输的模式 if(bind(RecvSocket, (SOCKADDR* )&RecvAddr, sizeof(RecvAddr))< 0){ printf("Error: bind failed!\n"); exit(1); } printf("Receving datagrams ... \n"); for(; ; ){ static int count = 0; static int fileNum = 0; char filenameTmp[20]; len = recvfrom(RecvSocket, RecvBuf, BufLen, 0, (SOCKADDR* )&SenderAddr, &SenderAddrSize); sendto(RecvSocket, RecvBuf, BufLen, 0, (SOCKADDR* )&SenderAddr, &SenderAddrSize); //printf("Data Success, and sended!"); RecvBuf[len] = '\0'; // 此处的判断是为了文件接收的转换的情况, 注意加强自身的对UDP 协议的理解; if(strcmp(RecvBuf, "file send -- 123")==0){ fileNum++; sprintf(filenameTmp, "receive%d.txt", fileNum); fp = fopen(filenameTmp, "a+"); printf("file will received\n"); flag = 1; }else if(strcmp(RecvBuf, "file sended -- 123")==0){ printf("file have received!\n"); fclose(fp); flag = 0; }else{ if(flag == 1){ count++; fprintf(fp ,"%s\t",RecvBuf); if((count%5)== 0){ fprintf(fp ,"\n"); } }else{ printf("Received Data: %s\n", RecvBuf); } } } printf("Finished receiving. Closing socket. \n"); closesocket(RecvSocket); // 销毁套接字, 逻辑严密性 printf("Exiting.\n"); return 0;}
0 0
- 实现UDP协议,socket编程,调用到windowsAPI,实现客户端和服务器
- Socket编程 消息传送 UDP协议(窗口实现) 客户端
- Socket编程 消息传送 UDP协议(窗口实现) 服务器
- python3实现UDP协议的简单服务器和客户端
- python3实现UDP协议的简单服务器和客户端
- Python实现udp协议的简单服务器和客户端通信
- socket udp 客户端实现
- 网络编程(5)—— 基于Linux系统的UDP协议socket服务器和客户端
- 网络编程(6)—— 基于Windws系统的UDP协议socket服务器和客户端
- Android Socket编程android端服务器和客户端的实现
- java网络编程----------Socket实现客户端和服务器的连接
- linux udp协议服务器,客户端socket使用
- Windows Socket UDP协议(服务器与客户端)
- python socket实现简单的(TCP/UDP)服务器/客户端
- socket编程:简单UDP服务器/客户端编程
- 实现UDP协议编程
- UDP协议实现服务器与客户端的通信
- SOCKET UDP协议的实现
- Java实现视频格式转化
- 二维数组排序模块
- Android开发基础(java)1
- 字符串首字母转换成大写字母
- 黑马程序员——零基础学习iOS开发——13 Foundation框架
- 实现UDP协议,socket编程,调用到windowsAPI,实现客户端和服务器
- iOS Switch case is in protected scope 异常解决
- mac环境下cocos2dx引擎3.x版本的创建工程步骤
- unity3d 加密补充篇
- UILable UIImageView 设置圆角
- 【hadoop】5004- Hadoop2.x 机制原理
- 个人网站设计-Stigma
- hdu 1325 Is It A Tree?(利用入度判断有向树)
- 开始一:C# asp.net 搭建微信公众平台(可实现关注消息与消息自动回复)