服务端

#include

#include

#include

int main (int agrc,char*argv[])

{

SOCKET socket1;

WSADATA wsaData;

int ErrorCode;

if(WSAStartup(MAKEWORD(2,1),&wsaData))// windows socket dll;

{

printf("Winsock initiate failed!!\n");

WSACleanup();

return 0;

}

printf("Winsock start...\n");

struct sockaddr_in local;

struct sockaddr_in client;

int len = sizeof(client);

local.sin_family = AF_INET;

local.sin_port = htons(12345); //the port need listened

local.sin_addr.s_addr = INADDR_ANY; //localhost

socket1 = socket(AF_INET,SOCK_DGRAM,0);

bind(socket1,(struct sockaddr*)&local,sizeof(local));

while (1)

{

char buffer[1024] = "/0";

printf("waiting message from the clients...\n");

if(recvfrom(socket1,buffer,sizeof(buffer),0,(struct sockaddr*)&client,&len) != SOCKET_ERROR)

{

printf("recevie message: [%s]---%s\n",inet_ntoa(client.sin_addr),buffer);

//send sth to the client

sendto(socket1,buffer,sizeof(buffer),0,(struct sockaddr*)&client,len);

}

}

closesocket(socket1);

system("pause");

return 0;

}

客户端:

#include

#include

#include

int main (int agrc,char*argv[])

{

SOCKET socket1;

WSADATA wsaData;

int ErrorCode;

if(WSAStartup(MAKEWORD(2,1),&wsaData))// windows socket dll;

{

printf("Winsock initiate failed!!\n");

WSACleanup();

return 0;

}

printf("Winsock start...\n");

const char* ip="127.0.0.1";

struct sockaddr_in server;

int len = sizeof(server);

server.sin_family = AF_INET;

server.sin_port = htons(12345); //the port need listened

server.sin_addr.s_addr = inet_addr(ip);

socket1 = socket(AF_INET,SOCK_DGRAM,0);

while (1)

{

char buffer[1024] = "\0";

printf("input message\n");

scanf("%s",buffer);

//printf("%s",buffer);

if(strcmp(buffer,"bye")==0)

{

printf("exit,bye!!\n");

Sleep(100);

closesocket(socket1);

break;

}

if(sendto(socket1,buffer,sizeof(buffer),0,(struct sockaddr*)&server,len)!=SOCKET_ERROR)

{

printf("sending...");

Sleep(100);

if(recvfrom(socket1,buffer,sizeof(buffer),0,(struct sockaddr*)&server,&len) != SOCKET_ERROR)

printf("recevie from service: %s\n",buffer);

}

}

closesocket(socket1);

system("pause");

return 0;

}

注意: Makefile 加上  -lws2_32

vmware windows linux udp通信,windows 下 udp socket相关推荐

  1. linux+唤醒windows,Linux系统与Windows系统下的网络唤醒

    Wake on Lan with Linux and Windows Linux系统与Windows系统下的网络唤醒 Motivation 问题起因 I have 3 computers. My la ...

  2. VMware虚拟机 linux NAT网络模式下 网关地址默认为192.168.1.2

    VMware虚拟机 linux NAT网络模式下 网关地址默认为192.168.1.2   默认0-2端口都被占用 不能将网关地址强制设置为192.168.1.1       因为.1被占用 网关地址 ...

  3. linux目录对应windows,linux目录和Windows目录对比

    linux目录和Windows目录对比 我们应该知道 Windows 有一个默认的安装目录专门用来安装软件.Linux 的软件安装目录也应该是有讲究的,遵循这一点,对后期的管理和维护也是有帮助的. / ...

  4. vmware配置linux虚拟机与windows共享存储

    简介 vmware上默认linux虚拟是无法访问windows上的文件,我们可以通过vmware tools使得linux虚拟机可以访问windows服务器上的文件 操作 关闭虚拟机,在D盘新建一个目 ...

  5. gpt windows linux,UEFI+GPT环境下安装Windows+Linux+OS X

    前一篇文章讲到了我DIY了一台机子,配置如下. 部件 名称 价格 CPU i3 3245 ¥530 Motherboard 技嘉 H61M-DS2 ¥109 RAM ADATA 4GB 1600MHZ ...

  6. ModBus(RTU TCP UDP通信)及利用socket通信(DTU)实现Modbus-RTU通信协议

    目录 MODBUS-RTU 1.Modbus Slave连接串口 2.MODBUS-RTU配置环境 3.ModBus-RTU的通信代码 4.ModBus-RTU执行的方法细节,简说 MODBUS-TC ...

  7. python udp通信_Python实现UDP程序通信过程图解

    运行流程:编辑好代码后,通过cmd打开文件执行.例:C:\Users\小李酷少>C:\Users\小李酷少\Desktop\发送端.py hello 易见问题:在运行程序的时候容易出现" ...

  8. 【转】VMWare虚拟机linux访问windows主机硬盘文件方法

    转自http://dog0boy.blog.163.com/blog/static/41173408200772134353194/ 安装vmware-tools      为了更好的解决虚拟机与主机 ...

  9. 【Linux】网络编程三:TCP通信和UDP通信介绍及代码编写

    参考连接:https://www.nowcoder.com/study/live/504/2/16. [Linux]网络编程一:网络结构模式.MAC/IP/端口.网络模型.协议及网络通信过程简单介绍 ...

最新文章

  1. 初始化Mysql系统报错,begin failesd--conpilation aborted at scripts........
  2. Loadrunner进行md5加密方法
  3. 差异与阵列和阵列结构和链表的区别
  4. VTK:网格之ExtractEdges
  5. 201671010119 2016-2017-2《Java程序设计》第十四周学习心得
  6. 【流浪地球】春节十二响程序开源代码
  7. 《微观经济学》第三章相互依存性与贸易的好处
  8. Java中面向接口编程的简单案例(电脑、鼠标、键盘、USB接口)
  9. 主成分分析碎石图_因子分析碎石图
  10. Mat和IplImage转换
  11. 如何申请小程序账号及上线一个体验版小程序
  12. 2018产品经理都在入驻的平台——汇新云
  13. vue 解决控制台Prop being mutated: “placement“报错
  14. V2X 公开资料整理
  15. problem: ERROR cluster.YarnClientSchedulerBackend: Yarn application has already exited with state
  16. 腾讯地图 多个异步script互相依赖加载问题
  17. 推特情感分析-基于spark
  18. 《棒球殿堂》:棒球联盟LEAGUE·埼玉西武狮
  19. Android Hawk数据库
  20. Spring MVC 教程,快速入门,深入分析

热门文章

  1. scala 基础类库 —— 文件操作
  2. Trick(四)——翻转字符串的实现
  3. ZooKeeper 基本操作
  4. 从随机数生成到随机采样的C++实现
  5. c语言宽度限定词,C语言中限定词的深层分析
  6. java 可见性_Java并发编程-volatile可见性详解
  7. 一张图学会python-一张图学会python
  8. python是什么 自学-自学python需要什么基础,要掌握哪些知识?
  9. python零基础入门视频免费-阿里云免费推出Python零基础入门在线教程视频
  10. python入门教程pdf-《python基础教程(第3版)》高清版PDF免费下载