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

企业网站开发服务淘宝客做网站可行么

企业网站开发服务,淘宝客做网站可行么,phpcms 网站访问统计,app制作平台免费版下载最近要做一个东西#xff0c;关于一个软件上得到的信号#xff0c;如何通过连接的局域网#xff0c;将数据传输出去。我没做过相关的东西#xff0c;但是我想应该和软件连接数据库的过程大致是差不多的#xff0c;就一个ip和一个端口号啥的。 一.问题思路 多个设备同时连…最近要做一个东西关于一个软件上得到的信号如何通过连接的局域网将数据传输出去。我没做过相关的东西但是我想应该和软件连接数据库的过程大致是差不多的就一个ip和一个端口号啥的。 一.问题思路 多个设备同时连接同一个局域网在一个电脑上发送一个数据在别的电脑上可以实时接收这个数据。在找工作面试的时候提前背了相关TCP、UDP的特性由于TCP是面向连接的虽然传输数据是可靠的但是速率是比UDP慢的。因此我想了想使用UDP传输是比较合适的这个地方要用到Socket编程。当时面试只是背了背什么C版本的Socket编程其大致和java之中的Socket类似但是还没有用过趁着这个机会学一下。 二.ip设置与端口的设置 首先查看本机ip。 按下windows键 r 打开运行输入cmd。 在运行框里输入ipconfig都是基本操作查看ip地址。 可以看到我的接收端的ip地址是192.168.1.144. 我现在自己的电脑上进行试一下。 接收端代码 #define _WINSOCK_DEPRECATED_NO_WARNINGS #include iostream #include WinSock2.h#pragma comment(lib, ws2_32.lib)int main() {// 初始化WinsockWSADATA wsaData;if (WSAStartup(MAKEWORD(2, 2), wsaData) ! 0) {std::cout 初始化套接字 std::endl;return -1;}// 创建套接字SOCKET receiverSocket socket(AF_INET, SOCK_DGRAM, 0);if (receiverSocket INVALID_SOCKET) {std::cout 创建套接字失败 std::endl;WSACleanup();return -1;}// 绑定监听地址sockaddr_in receiverAddress;receiverAddress.sin_family AF_INET;receiverAddress.sin_port htons(1234); // 设置监听端口号receiverAddress.sin_addr.s_addr INADDR_ANY;if (bind(receiverSocket, (sockaddr*)receiverAddress, sizeof(receiverAddress)) SOCKET_ERROR) {std::cout 绑定套接字失败 std::endl;closesocket(receiverSocket);WSACleanup();return -1;}// 接收数据char buffer[1024];sockaddr_in senderAddress;int senderAddressSize sizeof(senderAddress);int receivedBytes recvfrom(receiverSocket, buffer, sizeof(buffer), 0, (sockaddr*)senderAddress, senderAddressSize);if (receivedBytes SOCKET_ERROR) {std::cout 接收数据失败 std::endl;}else {buffer[receivedBytes] \0;std::cout 接收到的数据 buffer std::endl;}// 清理资源closesocket(receiverSocket);WSACleanup();getchar();return 0; } 发送端代码 #define _WINSOCK_DEPRECATED_NO_WARNINGS #include iostream #include WinSock2.h#pragma comment(lib, ws2_32.lib)int main() {// 初始化WinsockWSADATA wsaData;if (WSAStartup(MAKEWORD(2, 2), wsaData) ! 0) {std::cout 初始化Socket失败 std::endl;return -1;}// 创建套接字SOCKET senderSocket socket(AF_INET, SOCK_DGRAM, 0);if (senderSocket INVALID_SOCKET) {std::cout 创建Socket失败 std::endl;WSACleanup();return -1;}// 设置接收方地址sockaddr_in receiverAddress;receiverAddress.sin_family AF_INET;receiverAddress.sin_port htons(1234); // 设置接收方的监听端口号receiverAddress.sin_addr.s_addr inet_addr(192.168.1.144);// 发送数据const char* message 你好呀小杨同学;if (sendto(senderSocket, message, strlen(message), 0, (sockaddr*)receiverAddress, sizeof(receiverAddress)) SOCKET_ERROR) {std::cout 发送数据失败 std::endl;}else {std::cout 成功发送数据 std::endl;}// 清理资源closesocket(senderSocket);WSACleanup();return 0; }最终的结果可以看到两台电脑正常通信 三.问题的出现 一台机器上进行通信是完全没有问题的但是当两台机器进行通信的时候其中一台给另外一台发送消息是正常的但是当反过来的时候发现通信不了。 我的防火墙已经关闭了应该没啥问题哈直接ping一下看看 但是ping了一下发现可以ping通呀。 四.问题的解决 解决方案一防火墙关闭---端口 接下来去看一下相应的端口状态使用windows r打开任务管理器 - 性能 性能 - 打开资源监视器 查看端口的权限情况 可以发现我的监听端口一栏之中UDP完全是不允许的。 那就继续深究一下端口的问题发现前面的那个防火墙状态只是用来防病毒的并不是用来监视端口的。首先打开控制面板 启用或者关闭防火墙 关闭防火墙 发现还是不可以。 查看端口信息可以看到1235端口并没有指定IPv4。 那么我们需要给1235端口号指定一个IPv4的地址。 这个地方我就直接将端口号改为了本机端口 发现偶尔可以接收到消息有的时候还是接收不到消息。 解决方案二多次传输 想一下UDP的传输协议这是不可靠的传输协议因此重新修改代码发现与上面那个地址是否绑定无关。 接收端我将信号变为一直接收的状态 while (1){// 接收数据char buffer[1024];sockaddr_in senderAddress;int senderAddressSize sizeof(senderAddress);int receivedBytes recvfrom(receiverSocket, buffer, sizeof(buffer), 0, (sockaddr*)senderAddress, senderAddressSize);if (receivedBytes SOCKET_ERROR) {std::cout 接收数据失败 std::endl;}else {buffer[receivedBytes] \0;std::cout 接收到的数据 buffer std::endl;}} 发送端将信号发送10次。 // 发送数据const char* message 你好呀小杨同学;for (int i 0; i 10; i){if (sendto(senderSocket, message, strlen(message), 0, (sockaddr*)receiverAddress, sizeof(receiverAddress)) SOCKET_ERROR) {std::cout 发送数据失败 std::endl;}else {std::cout 成功发送数据 std::endl;}} 结果发送了10次数据只接收到了八个数据。 通过上述数据说明在进行使用的过程之中既然寻求速度选择了UDP发送数据第一个注意点是需要将防火墙进行关闭。第二个注意点是注意数据的丢失情况只进行发送一次可能出现发送不成功的问题。 补充解决方案三方案一的替代版 一般而言电脑上的防火墙是不允许关闭的因此有没有什么更好的方案去替代方案一。 将防火墙进行打开 防火墙 - 高级设置 入站规则 - 新建规则 端口 只允许连接 随便起个名字 可以看到也是正常使用的。 五.界面设计 1发送端 其中三个输入框之中的变量绑定分别为 CIPAddressCtrl m_ip; // ip CEdit m_port; // 端口号 CEdit m_edit; // 发送数据 将中间的最大的发送数据的编辑框设置属性 需要注意在相应的属性设置栏之中不使用预编译头文件否则会与C6990错误产生冲突。 发送端代码进行测试 可以发现是能够进行正常的使用的。 2接收端 接收端的代码就不详细解释了详细的资源可以在博客之中进行下载。 最终的测试界面是正确的。 代码下载地址 https://download.csdn.net/download/m0_47489229/88671248https://download.csdn.net/download/m0_47489229/88671248
http://www.w-s-a.com/news/260744/

相关文章:

  • 哪个网站做logo设计我的建筑网
  • php电子商务网站开发沂源手机网站建设公司
  • html和php做网站哪个好3gcms企业手机网站整站源码asp
  • 网站建设网页设计案例云南建设厅网站删除
  • 杏坛网站制作太原做网站要多少钱呢
  • 做新闻类网站还有市场吗东莞黄页网广告
  • 地方网站做外卖专业做互联网招聘的网站有哪些
  • 网站推广公司兴田德润紧急网页升级紧急通知
  • 厦门做网站哪家强企业网站网页设计的步骤
  • 普拓网站建设济南行业网站建设
  • 燕郊 网站开发网站里的地图定位怎么做
  • 门户网站建设招标互联网创业项目概述
  • 用什么做网站比较好市场调研公司是做什么的
  • 电商网站充值消费系统绍兴网站优化
  • 深圳网站建设公司联虚拟币交易网站开发
  • 专业网站设计建设公司抖音代运营公司排名前十强
  • 做网站架构肃北蒙古族自治县建设局网站
  • 推广网站怎么建经济研究院网站建设方案
  • 网站建设商家淘宝客自建网站做还是用微信qq做
  • django做网站效率高吗涉县移动网站建设报价
  • 做外贸网站注册什么邮箱能够做渗透的网站
  • 购物网站 怎么做织梦网站会员功能
  • 北京市网站开发公司郑州联通网站备案
  • 温岭专业营销型网站建设地址wordpress小程序怎么不用认证审核
  • 网站建设主体设计要求微信公众号缴费
  • 网站建设的税率WordPress多用户建站
  • 专业门户网站的规划与建设网络培训
  • 东莞汽车总站停止营业crm管理系统在线使用
  • 深圳网站建设公司哪个网络优化是做什么的
  • 大连地区做网站自己怎么做电影网站