网络编程之路---6
来源:互联网 发布:c 程序员招聘要求 编辑:程序博客网 时间:2024/06/11 11:21
int sendto{SOCKET s, const char* buf, int len, int flags, const struct sockaddr* to, int tolen}
指定一个socket句柄 发送缓冲区 发送缓冲区长度 函数调用方式 接收数据的目标地址 指定地址长度
客户端:
#include <WinSock2.h>#include <stdio.h>#pragma comment(lib, "WS2_32.lib")//udp只需知道服务器的socketint main(int argc, char *argv[]){WSADATA wsaData;WSAStartup(MAKEWORD(2,2),&wsaData); //Windows socket apiSOCKET SendSocket;SendSocket = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);int Port = 27051;char SendBuf[1054];int bufLen = 1054;SOCKADDR_IN RecvAddr; //服务器地址RecvAddr.sin_family = AF_INET;RecvAddr.sin_port = htons(Port);RecvAddr.sin_addr.S_un.S_addr = inet_addr("222.18.167.206");printf("sending a data to server\n");sendto(SendSocket, SendBuf, bufLen, 0, (SOCKADDR*)&RecvAddr, sizeof(RecvAddr));printf("Finishing sending data\n");closesocket(SendSocket);printf("exiting\n");WSACleanup();//socket句柄 传输数据的缓冲区 缓冲区长度 调用函数的方式 接收数据的目标地址 地址长度return 0;}
int recvfrom(SOCKET s, char* buf, int len, int flags, struct sockaddr* from, int *fromlen);
socket句柄 要接收数据的缓冲区 要接收数据的长度 调用函数的方式 发送数据的地址 发送数据地址的长度
服务器:
/*#include "stdafx.h"*/#include <WinSock2.h>#include <stdio.h>#pragma comment(lib, "WS2_32.lib")int main(int argc, char* argv[]){WSADATA wsaData;int resValue;WSAStartup(MAKEWORD(2,2), &wsaData);SOCKET RecvSocket;RecvSocket = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP);int Port = 27051;char buf[1024];int bufLen = 1024;SOCKADDR_IN recvAddr; //服务端的地址recvAddr.sin_family = AF_INET;recvAddr.sin_port = htons(Port);recvAddr.sin_addr.S_un.S_addr = htonl(INADDR_ANY);resValue = bind(RecvSocket, (const SOCKADDR*)&recvAddr, sizeof(recvAddr));if (resValue == SOCKET_ERROR){printf("bind failed...\n");return -1;}SOCKADDR_IN sendAddr;int sendLen = sizeof(sendAddr);printf("receiving data...\n");recvfrom(RecvSocket, buf, bufLen, 0, (SOCKADDR*)&sendAddr, &sendLen);printf("finished receiving...\n");closesocket(RecvSocket);printf("exiting");WSACleanup();return 0;}
0 0
- 网络编程之路---6
- 网络编程之路
- 网络编程之路---3
- 网络编程之路---4
- 网络编程之路---5
- 网络编程之路---7
- 网络编程之路---8
- 网络编程之路---9
- 网络编程之路---10
- 网络编程之路---11
- 网络编程之路---12
- java学习之路 之 网络编程
- 网络编程之路(第一天)
- 网络编程学习之路—1
- 网络编程学习之路—2
- java网络编程学习之路(3)
- java网络编程之路(一)
- C#学习之路---Socket网络编程
- USB设备驱动程序(四)
- 参数
- oracle 数据库查询关联运算
- ubuntu下用apt-get安装lamp缺少mcrypt , curl
- 委托模式的重新理解
- 网络编程之路---6
- 2459: 爱你多少年呢
- Android 学习(三)上: UI 控件
- 反射技术
- 亚马逊击败IBM 获美国中情局6亿美元云计算订单
- 寒假英语小结
- org.w3c.dom document 和xml 字符串 互转
- Android中全屏或者取消标题栏
- 命令模式c++实现