福利彩票3d走势图平台

  • 时间:
  • 浏览:15
  • 来源:pc蛋蛋百度鼎盛彩票网

socket在计算机通信领域被称为“套接字”,是网络通信的一种方式,在aworks系统中如何使用socket api建立服务器与客户端,进行数据通信呢?本文将详细为你介绍。

概述

要编写通过计算机网络通信的程序,首先要确定这些程序相互通信使用的协议,通常使用tcp或udp协议族。tcp是面向连接的传输协议,建立连接时需要经过三次握手,断开连接时需要经过四次握手,中间传输数据也要回复ack包进行确认。而udp是非连接的传输协议,没有建立连接和断开连接的过程,它只是简单的把数据丢到网络中,也不明确区分服务器和客户端。因此tcp比udp协议更加可靠,且tcp和udp编程大致相同,所以本文就以tcp协议为例,建立图1所示的基本客户/服务器网络模型,进行通信。

图1 基本服务器-客户端模型

基本套接字编程

图2给出了一对客户与服务器进程之间发生的典型事件的时间表。服务器首先启动,稍后客户端启动连接到服务器。所有的客户和服务器都从调用socket开始,它返回套接字描述符;客户随后调用connect,服务器则调用bind、listen和accept;建立连接之后调用send、recv函数进行数据传输。数据传输完成后,套接字使用标准的closesocket函数关闭。

图2 基本客户/服务器程序的套接字函数

socket()函数:指定期望的通信协议类型(使用ipv4的tcp、使用ipv6的udp等)创建套接字;

blind()函数:将套接字与本地的ip地址和端口绑定;

connect()函数:客户端向服务器发出连接请求;

listen()函数:仅服务器调用,使套接字进入被动监听状态。所谓被动监听是指当没有客户端请求时,套接字处于“睡眠”状态,只有当接收到客户端请求时,套接字才会被唤醒来响应请求;

accept()函数:当套接字处于监听状态时,可以通过aceept函数来接收客户端的请求;

send/recv()函数:发送和接收函数;

closesocket()函数:关闭套接字,回收资源。

网络连接与配置

socket通信程序基于网络之上,常规的开发板一般都携带以太网外设,所以本文以以太网为例,配置开发板的网络连接。

首先需要用网线连接开发板的网口和电脑,来建立网络的物理连接。其次在aworks sdk包中的aw_prj_params.h文件中打开以太网设备宏,如程序清单1。

程序清单1 打开以太网配置宏

再次在awbl_hwconf_imx1050_enet.h文件中配置以太网的ip地址、子网掩码和网关,并关闭dhcp,使用静态的ip地址,如程序清单2。

程序清单2 ip地址设置

最后修改电脑为静态ip地址并与开发板ip地址位于同一网段。

tcp客户端实例

按照基本的套接字编程流程,建立一个客户端,我们只需要调用socket、connect、send、recv、closesocket函数即可,如程序清单3,首先使用socket创建一个tcp类型的套接字,再调用connect连接到已指定的服务器(ip地址为192.168.1.34、端口号为4000),当服务器端接收客户端的连接请求后,connect函数退出阻塞状态,进入循环,再在循环中调用send函数向服务器发送数据,调用recv函数(阻塞)接收数据。当数据传输完成后,使用closesocket关闭连接,回收资源。

程序清单3 回声客户端程序

程序编写完成后,我们使用tcp上位机软件测试。打开tcp调试软件,如图3。创建服务器,如图4。最后启动服务器,如图5。

图3 tcp调试工具

图4 创建服务器

图5 启动服务器

以上步骤就绪后,在主程序中调用demo_tcp_client_entry()入口函数,编译、下载程序到开发板,待程序运行之后,可以在shell界面看到tcp客户端连接成功,如图6,此时在上位机软件上可以看到建立的tcp连接,在发送区域向客户端发送数据,在接收区将看到客户端回发的数据,如图7。shell界面打印客户端收到的数据,如图8。

图6 tcp客户端连接成功

图7 服务器数据显示

图8 客户端数据打印

猜你喜欢

排三跨度振幅走势图彩经网平台

浚县3d打印产品优惠价多少?来源网络发布时间:2019-03-2703:31:02浚县3d打印产品优惠价多少?浚县东莞3d打印公司嘉诺3d打印提供多领域的3d打印手板模型定制服

2019-09-19

七乐彩开奖结果今天官网

镇安东莞手板模型厂家来和您详细讲述一下产品外观设计需要考虑的因素,希望对您有所帮助。广州3d打印厂家嘉诺三维科技致力于工业级3d打印技术各个行业的应用、创新及开发;专业于快速成

2019-09-19

大乐透走势图500期图官网

2019年3月25日,位于德国汉堡的trinamic运动控制公司推出了一款采用tmc5160的新型分线板。优于市场上所有其他stepsticks,silentstepstick

2019-09-19

七乐彩最近50期走势图官网

openadditive发布了开放3d打印平台的6个元素指南2019-09-0116:55:11来源:位于美国俄亥俄州代顿市的universaltechnologycorpor

2019-09-17

排列五和值尾数走势图官网

很多企业在租赁打印机时,一味追求价格便宜,导致后期出现的结果是租了二手机加大了设备故障率,而自身的损耗变得更多。殊不知,这正是某些打印机租赁公司耍的小心机。作为资深打印机租赁公

2019-09-17