UDP HelloWord
#include <winsock2.h>
#pragma comment (lib,"ws2_32")
//注释的为UDP的代码,方便对比
//流程
//TCP:WSAStarup socket connect recv/send closesocket WSACleanup
int main(int argc,char* argv[])
{
WSADATA wsaData;
WSAStartup(MAKEWORD(2,2),&wsaData);
//SOCKET s = socket(PF_INET,SOCK_STREAM,IPPROTO_TCP);
SOCKET s = socket(PF_INET,SOCK_DGRAM,IPPROTO_UDP);
sockaddr_in addr;
addr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
addr.sin_family = PF_INET;
addr.sin_port = htons(827);
//connect(s,(SOCKADDR*)&addr,sizeof(SOCKADDR));
sendto(s,"hello world server UDP",strlen("hello world server UDP") + sizeof(char),
0,(SOCKADDR*)&addr,sizeof(SOCKADDR));
sockaddr_in clientAddrUDP;
char szBuffer[MAXBYTE] = {0};
int len = sizeof(SOCKADDR);
//recv(s,szBuffer,MAXBYTE,NULL);
recvfrom(s,szBuffer,MAXBYTE,0,(SOCKADDR*)&clientAddrUDP,&len);
printf("szBuffer = %s \r\n",szBuffer);
closesocket(s);
WSACleanup();
return 0;
}
//注释的为UDP的代码,方便对比
//TCP::WSAStartup socket bind listen accept send/recv closesocket WSACleanup
#include <winsock2.h>
#include <stdio.h>
#pragma comment (lib,"ws2_32")
int main(int argc , char* grgv[])
{
WSADATA wsaData;
WSAStartup(MAKEWORD(2,2),&wsaData);
//SOCKET s = socket(PF_INET,SOCK_STREAM,IPPROTO_TCP);
SOCKET s = socket(PF_INET,SOCK_DGRAM,IPPROTO_UDP);
sockaddr_in addr;
addr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
addr.sin_port = htons(827);
addr.sin_family = PF_INET;
bind(s,(SOCKADDR*)&addr,sizeof(SOCKADDR));
//listen(s,1);
SOCKADDR clientAddr;
int nSize = sizeof(SOCKADDR);
//SOCKET clientSock;
char buf[MAXBYTE] = {0};
int len = sizeof(SOCKADDR);
recvfrom(s,buf,MAXBYTE,0,(SOCKADDR*)&clientAddr,&len);
printf("%s \r\n",buf);
//clientSock = accept(s,(SOCKADDR*)&clientAddr,&nSize);
//send(clientSock,"hello client \r\n",strlen("hello client \r\n" + sizeof(char)),NULL);
sendto(s,"hello world client UDP",strlen("hello world client UDP") + sizeof(char),
0,(SOCKADDR*)&clientAddr,sizeof(SOCKADDR));
//closesocket(clientSock);
closesocket(s);
WSACleanup();
return 0;
}
UDP HelloWord的更多相关文章
- python笔记8 socket(TCP) subprocess模块 粘包现象 struct模块 基于UDP的套接字协议
socket 基于tcp协议socket 服务端 import socket phone = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 买 ...
- Node.js:dgram模块实现UDP通信
1.什么是UDP? 这里简单介绍下,UDP,即用户数据报协议,一种面向无连接的传输层协议,提供不可靠的消息传送服务.UDP协议使用端口号为不同的应用保留其各自的数据传输通道,这一点非常重要.与TCP相 ...
- 高性能 TCP/UDP/HTTP 通信框架 HP-Socket v4.1.1
HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件.客户端组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统,提供 C/ ...
- TODO:Golang语言TCP/UDP协议重用地址端口
TODO:Golang语言TCP/UDP协议重用地址端口 这是一个简单的包来解决重用地址的问题. go net包(据我所知)不允许设置套接字选项. 这在尝试进行TCP NAT时尤其成问题,其需要在同一 ...
- 利用Docker技术实现UDP广播效果(网络编程python版)
docker的安装见官方文档 我使用的系统为Ubuntu16.04 Ubuntu系统安装docker文档地址:https://docs.docker.com/engine/installation/l ...
- 【Win 10 应用开发】UDP广播
我们知道,对于UDP协议的通信,除了可以用来聊天外,可以发送广播数据.只要向广播地址的某个端口发送数据就可以进行广播,子网中只要监听该端口的socket就能收到广播消息. 最简单的方法就是向255.2 ...
- 高性能 TCP/UDP/HTTP 通信框架 HP-Socket v4.1.2
HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件.客户端组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统,提供 C/ ...
- 高性能 TCP/UDP/HTTP 通信框架 HP-Socket v4.0.1
HP-Socket 是一套通用的高性能 TCP/UDP/HTTP 通信框架,包含服务端组件.客户端组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP/HTTP 通信系统,提供 C/ ...
- 高性能 TCP & UDP 通信框架 HP-Socket v3.5.3
HP-Socket 是一套通用的高性能 TCP/UDP 通信框架,包含服务端组件.客户端组件和 Agent 组件,广泛适用于各种不同应用场景的 TCP/UDP 通信系统,提供 C/C++.C#.Del ...
随机推荐
- java发送邮件 实现编辑html代码
这个例子相当的简单,一看就懂( 此例仅支持163发送163及qq邮箱) 首先要导入两个必须jar包:mail-1.4.4.jar 和 commons-email-1.2.jar这两个jar包是我用的 ...
- [设计模式] .NET设计模式笔记 - 有多少种设计模式
.NET下的23中设计模式. ※创建型模式篇 ●单件模式(Single Pattern) ●抽象工厂模式(Abstract Factory) ●建造者模式(Builder Pattern) ●工厂方法 ...
- [Java] 使用 Spring 2 Portlet MVC 框架构建 Portlet 应用
转自:http://www.ibm.com/developerworks/cn/java/j-lo-spring2-portal/ Spring 除了支持传统的基于 Servlet 的 Web 开发之 ...
- [SQLServer]学习总结笔记(基本涵盖Sql的所有操作)
--################################################################################### /* 缩写: DDL(Dat ...
- 基于SocketAsyncEventArgs的版本
文字水平差就慢慢开始练习,同时分享一下,项目中写的简单socket程序,不同方式的版本,今天上一个异步.可能实现高性能的处理方式.IOCP就不多说了,高性能的完成端口,可以实现套接字对象的复用,降低开 ...
- Android小项目之五 splash动画效果
------- 源自梦想.永远是你IT事业的好友.只是勇敢地说出我学到! ---------- 按惯例,写在前面的:可能在学习Android的过程中,大家会和我一样,学习过大量的基础知识,很多的知识点 ...
- http请求数据
/// <summary> /// http请求post数据 /// </summary> /// <param name=&q ...
- 如果AlertView输入框为空,则禁止点击确定按钮
//UIAlertView的代理方法(创建UIAlertView之后,copy此代理方法即可) - (BOOL)alertViewShouldEnableFirstOtherButton:(UIAle ...
- UI设计之PS界面初始化设置
一.PS界面初始化 1.新建设置 web设计的基础标准:宽度为1920px,高度自定义,分辨率72px,背景模式RGB 8位.(提示:可以“存为预设”以便以后直接调用) 注意:背景内容为透明!!! ...
- HDU4268 Alice and Bob(贪心+multiset)
Problem Description Alice and Bob's game never ends. Today, they introduce a new game. In this game, ...