创建tcp服务在虚拟机上新建tcp_server.c:
#include #include #include #include #include #include #include #include #include #include #include #include #define server_port 3861#define lisent_num 10int main(int argc, char * argv[]){ int sfd, cfd; struct sockaddr_in clientaddr; struct sockaddr_in serveraddr; char buff[1024]; int size = sizeof(struct sockaddr); pthread_t client_thread[lisent_num]; if((sfd = socket(af_inet, sock_stream, 0)) == -1) { perror(socket); exit(-1); } memset(&serveraddr, 0, sizeof(struct sockaddr)); serveraddr.sin_family = af_inet; serveraddr.sin_addr.s_addr = inaddr_any; serveraddr.sin_port = htons(server_port); if (bind(sfd, (struct sockaddr*)&serveraddr, sizeof(struct sockaddr)) == -1) { perror(bind); close(sfd); exit(-1); } if(listen(sfd, lisent_num) == -1) { perror(listen); close(sfd); exit(-1); } printf(#@ listen server_port %d\\n, server_port); printf(main: server waiting connect...\\n); if ((cfd = accept(sfd, (struct sockaddr *)&clientaddr, (socklen_t*)&size)) == -1) { perror(accept); close(sfd); return0; } printf(client (ip = %s : server_port = %d) connect success\\n, inet_ntoa(clientaddr.sin_addr), ntohs(clientaddr.sin_port)); while (1) { usleep(1000*10); if (send(cfd, hello myd/yg2l, 6, msg_nosignal) == -1) { perror(send); exit(-1); } printf(send: hello myd/yg2l\\n); usleep(1000*10); if(recv(cfd, buff, sizeof(buff), 0) == -1) { perror(recv); exit(-1); } printf(receive: %s\\n, buff); } return0;}加载sdk:source /opt/yg2lx/environment-setup-aarch64-poky-linux编译:lugl@lugl-virtual-machine:~/mydg2l$ source /opt/yg2lx/environment-setup-aarch64-poky-linuxlugl@lugl-virtual-machine:~/mydg2l$ $cc tcp_server.c -o tcp_serverin file included from /opt/yg2lx/sysroots/aarch64-poky-linux/usr/include/bits/libc-header-start.h:33, from /opt/yg2lx/sysroots/aarch64-poky-linux/usr/include/stdio.h:27, from tcp_server.c:1:/opt/yg2lx/sysroots/aarch64-poky-linux/usr/include/features.h:397:4: warning: #warning _fortify_source requires compiling with optimization (-o) [-wcpp] # warning _fortify_source requires compiling with optimization (-o) ^~~~~~~lugl@lugl-virtual-machine:~/mydg2l$ lstcp_server tcp_server.clugl@lugl-virtual-machine:~/mydg2l$ file tcp_servertcp_server: elf 64-bit lsb shared object, arm aarch64, version 1 (sysv), dynamically linked, interpreter /lib64/ld-linux-aarch64.so.1, for gnu/linux 3.14.0, buildid[sha1]=c81069580d81fc0f4ac9bb00ecdd7ddf822e251f, with debug_info, not stripped上传开发板,修改执行权限后运行:root@myir-yg2lx:~# chmod 777 tcp_serverroot@myir-yg2lx:~# ./tcp_server#@ listen server_port 3861main: server waiting connect...client (ip = 192.168.3.166 : server_port = 53634) connect successsend: hello myd/yg2lreceive: hellosend: hello myd/yg2lreceive: hellosend: hello myd/yg2lreceive: hello mydsend: hello myd/yg2l打开tcp调试工具,连上服务器:
发送数据后,服务器打印出接收到的数据,客户端也接收到数据。
中国成功发射天通一号03星
5G专网部署需权衡多方面因素
张江春运“前线”的AI产品总结
3D打印新技术可在皮肤上打印传感器
全面介绍微电子封装技术
【米尔瑞萨RZ/G2L开发板-试用体验】创建TCP服务器
一文参透分布式存储系统Ceph的架构设计、集群搭建
java switch case的语法规则
人工智能如何影响软件测试领域
全国高等教育自学考试计算机组成原理试题(二)
“双11”双第一,是什么在驱动海尔智家增长?
物联网将会使一切都会变得聪明
连接标准联盟(CSA)向ubisys和Qorvo授予Zigbee Direct 1.0的Golden Unit荣誉称号
维珍轨道首次成功发射卫星,对太空行业有何影响?
NP3P06MR(40V P沟道增强模式MOSFET)
三星提前量产AMOLED面板以满足智能手机需求
索尼Xperia Z4平板陆续更新到安卓7.0系统!
emc电磁兼容是什么_电磁炉emc起什么作用
兰洋科技推出浸入式液态散热解决方案
引入工业控制领域的以太网(Ethernet)技术