当前位置: 首页 > news >正文

晋中做网站公司精选赣州网站建设

晋中做网站公司,精选赣州网站建设,如何做盗版小说网站,定制企业网站多少钱0. Problems 很多时候实现某种功能#xff0c;需要在不同进程间发送数据#xff0c;目前有几种主流的方法#xff0c;如 让python和C/C程序互相发送数据#xff0c;其实有几种方法#xff1a; 共享内存共享文件Socket通信 在这里只提供Socket通信的例程#xff0c;共享…0. Problems 很多时候实现某种功能需要在不同进程间发送数据目前有几种主流的方法如 让python和C/C程序互相发送数据其实有几种方法 共享内存共享文件Socket通信 在这里只提供Socket通信的例程共享文件很容易实现就是可靠性差点共享内存也是一种常用的方法。 其实如果使用的是ROS框架更加方便提供了三种通信方法 (Topic/Server/Action)具体内容可以看我之前的ROS Learning篇的内容请点这里。 1. Solutions 先上例程 1Python端发送: import socket import json# 创建Socket对象 sock socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 连接C程序 cpp_host 127.0.0.1 # C程序所在的主机 cpp_port 8888 # C程序监听的端口 sock.connect((cpp_host, cpp_port))# 读取json文件并发送给C程序 with open(response.json, r) as file:json_data file.read()sock.sendall(json_data.encode())# 接收C程序的响应 response sock.recv(1024).decode() if len(response) 0:print(Received response from C program:, response) else:print(Failed to receive response from C program.)# 关闭Socket连接 sock.close()2C端接收: /** Descripttion: Robot2.5* version: 20220211* Author: Will Yip* Date: 2024-02-21 15:43:37* LastEditors: Will Yip* LastEditTime: 2024-02-21 16:25:42*/ #include iostream #include cstring #include sys/socket.h #include netinet/in.h #include arpa/inet.h #include unistd.hint main() {// 创建Socketint sockfd socket(AF_INET, SOCK_STREAM, 0);// 绑定Socket到指定端口sockaddr_in addr{};addr.sin_family AF_INET;addr.sin_port htons(8888); // 监听的端口addr.sin_addr.s_addr INADDR_ANY;bind(sockfd, (struct sockaddr *)addr, sizeof(addr));// 监听连接listen(sockfd, 1);// 接受连接sockaddr_in clientAddr{};socklen_t clientAddrLen sizeof(clientAddr);int clientSock accept(sockfd, (struct sockaddr *)clientAddr, clientAddrLen);// 接收来自Python程序的数据char buffer[1024];memset(buffer, 0, sizeof(buffer));int bytesRead recv(clientSock, buffer, sizeof(buffer), 0);// 判断是否接收到了数据if (bytesRead 0) {// 处理收到的数据这里假设数据是JSON格式std::cout Received JSON data from Python program: buffer std::endl;// 发送响应给Python程序const char* response Data received successfully!;send(clientSock, response, strlen(response), 0);} else {std::cout Failed to receive data from Python program. std::endl;}// 关闭连接// close(clientSock); // dont close this connection, it will causes a problem when relaunch this receiver next time, it cant create 8888 port.close(sockfd);return 0; }然后就可以开始测试了记住要先启动C接收端再启动python发送端不然就报错提示connection error。 在调试时也会用上一些指令可以帮助我们做一些检查 在Ubuntu中有两个常用的指令用来查看端口情况 netstatlsof 这两个指令都能显示当前的端口信息。 netstat 常用netstat -tuln加上后面的参数可以帮助显示TCP和UDP协议的端口 -t表示显示TCP协议的端口-u表示显示UDP协议的端口-l表示仅显示监听状态的端口-n表示以数字形式显示地址和端口号而不是尝试解析主机名、服务名等。 显示如下 lsof lsof的用法是lsof -i:port_num里面的port_num就是端口号可以是根据netstat查询到的端口号。 PS端口号前加不加空格都行 以下是示例:
http://www.zqtcl.cn/news/870642/

相关文章:

  • 国外psd免费下载网站公司网站设计的公司
  • jsp sql 网站开发天津建站管理系统信息
  • 网站建设教程搭建浊贝湖南岚鸿给力企业网站定制公司
  • 网站建设与数据库维护 pdf廊坊seo关键字排名
  • 十元精品店做网站微信开发网站制作
  • 做乡镇网站地图上搜索不到的公司正规吗
  • 新材料 东莞网站建设多wordpress整合
  • 17做网店这个网站做起多少钱中信建设有限责任公司招标平台
  • 做慕课的网站一线设计公司
  • 官方网站app最新下载陕西建设厅八大员官方网站
  • 个体户可以备案网站吗运营
  • 政务网站模版建一个团购网站
  • 信用网站建设方案软文内容
  • PHP网站开发方向企业宣传片制作公司光年映画
  • 满城住房和城乡建设局网站上海最好的网站是什么
  • 网站建设合作网络营销是什么模式
  • 做个网站怎样做的网站建设刂搜金手指下拉贰肆
  • 颍上网站建设个人租车网站源码
  • 建设银行海外招聘网站顺义公司建站多少钱
  • 医疗公司网站建设项目背景你做的网站可视区域多少钱
  • 韩国做暖暖网站怎么样自己建设一个网站
  • 徐州网站建设4禁止wordpress历史版本
  • 公司网站建设价格wordpress做排行榜单
  • 安徽网站推广营销设计请教个人主页网站怎么做啊
  • 甘肃省酒泉市做网站公司wordpress标签云代码
  • 淘宝客做网站备注怎么写的用手机做网站视频
  • 深圳专业网站建设制作价格低品牌网站建设网站
  • 织梦体育网站模板临沂建站程序
  • 重庆网站设计最佳科技好听的网络公司名字
  • 如何在人力资源网站做合同续签贵阳网站建设搜王道下拉