发布时间:2020-10-05 12:26 原文链接: AWorks编程——socket通信(三)

TCP服务器实例

按照基本的套接字编程流程,建立服务器,我们只需要调用socket、bind、listen、accept、send、recv、closesocket函数即可,如程序清单4,首先使用socket函数创建TCP类型的套接字,然后调用bind函数绑定本地网卡的IP地址和端口号,使用listen监听客户端的请求,然后accept函数将阻塞等待客户端的请求连接,当服务器监听到有客户端请求连接时,accept退出阻塞状态,建立连接,进入循环,使用send、recv收发数据。当数据传输完成后,使用closesocket关闭连接,回收资源。

程序清单4 非阻塞服务器

程序编写完成后,将服务器例程入口函数demo_tcp_server_block_entry()放入主函数中编译、下载到开发板,程序运行后在shell界面可看到服务器已经启动,如图9。

图9 服务器启动

服务器启动后,同样使用TCP上位机软件建立客户端进行测试,指定服务器的IP和端口号,如图10。

图10 创建客户端