OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5739|回复: 9

stm32f407 tcpclient可以设置多个服务器ip吗

[复制链接]

5

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2017-2-27
在线时间
11 小时
发表于 2017-3-7 13:52:27 | 显示全部楼层 |阅读模式
1金钱
我现在遇到的问题是 我一个板子用tcp客户端发送数据 想同时把数据发送到多个服务器  我怎么能在自己的板子设置多个服务器IP ,来实现功能呢? 或者其他办法实现?


最佳答案

查看完整内容[请看2#楼]

只有一个服务器接收多个客户端数据的,没有一个客户端向多个服务器发送数据的,TCP需要建立连接才行,所以一个客户端只能和一个服务器通信,你可以试试使用UCOS系统建立多个客户端,每个客户端与一个服务器起连接,实现多对多通信。或者将板子作为一个服务器,多个客户端去连接它,实现一对多通信
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

9

主题

209

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1358
金钱
1358
注册时间
2015-12-19
在线时间
108 小时
发表于 2017-3-7 13:52:28 | 显示全部楼层
只有一个服务器接收多个客户端数据的,没有一个客户端向多个服务器发送数据的,TCP需要建立连接才行,所以一个客户端只能和一个服务器通信,你可以试试使用UCOS系统建立多个客户端,每个客户端与一个服务器起连接,实现多对多通信。或者将板子作为一个服务器,多个客户端去连接它,实现一对多通信
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2017-3-7 21:49:48 | 显示全部楼层
帮顶
回复

使用道具 举报

5

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2017-2-27
在线时间
11 小时
 楼主| 发表于 2017-3-9 18:05:32 | 显示全部楼层

我想到一个笨 方法 可以 建立一个tcpclient   接近同时给两个服务器传输 数据   就是通过eep存储3个ip   第一个为初始ip   第二 第三 为服务器ip  先给第一个ip传数据在发送完毕后 加一个flug   然后 通过标志位的变化 来重新加载 ip  这样就实现了 往2个ip或者多个ip传输数据  时间差2s左右  用ucos 不影响其他采集程序运行
回复

使用道具 举报

5

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2017-2-27
在线时间
11 小时
 楼主| 发表于 2017-3-9 18:05:45 | 显示全部楼层

我想到一个笨 方法 可以 建立一个tcpclient   接近同时给两个服务器传输 数据   就是通过eep存储3个ip   第一个为初始ip   第二 第三 为服务器ip  先给第一个ip传数据在发送完毕后 加一个flug   然后 通过标志位的变化 来重新加载 ip  这样就实现了 往2个ip或者多个ip传输数据  时间差2s左右  用ucos 不影响其他采集程序运行
回复

使用道具 举报

5

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2017-2-27
在线时间
11 小时
 楼主| 发表于 2017-3-10 09:43:36 | 显示全部楼层
yangkefeng 发表于 2017-3-9 22:48
只有一个服务器接收多个客户端数据的,没有一个客户端向多个服务器发送数据的,TCP需要建立连接才行,所以 ...

我这个已经实现了  往多个不同服务器不同ip的服务器发送数据,你说的应该行,我正在尝试好使了会莪给你回复的
回复

使用道具 举报

5

主题

15

帖子

0

精华

初级会员

Rank: 2

积分
60
金钱
60
注册时间
2017-2-27
在线时间
11 小时
 楼主| 发表于 2017-3-10 13:54:24 | 显示全部楼层
yangkefeng 发表于 2017-3-7 13:52
只有一个服务器接收多个客户端数据的,没有一个客户端向多个服务器发送数据的,TCP需要建立连接才行,所以 ...

这个也可以实现  不断更换ip的只能有一个ip是一直在线的 另一个ip是发完数据就关闭连接  用ucos是两个接近同时在线   和两个电脑连接时  在电脑上看不出来断开连接的显示   我这现在用的是  ucos再加两个任务 一个是建立连接  另一个是发送数据   现在正在测试  应该没什么问题
回复

使用道具 举报

9

主题

209

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1358
金钱
1358
注册时间
2015-12-19
在线时间
108 小时
发表于 2017-3-10 18:40:37 | 显示全部楼层
sunnyboy丶 发表于 2017-3-10 13:54
这个也可以实现  不断更换ip的只能有一个ip是一直在线的 另一个ip是发完数据就关闭连接  用ucos是两个接 ...

可以可以   我没试过    这个想法挺好的   我觉得也不需要更换IP   只需要端口号改变就可以了   IP其实可以一样的
求指导!!!兄弟
回复

使用道具 举报

1

主题

13

帖子

0

精华

初级会员

Rank: 2

积分
193
金钱
193
注册时间
2017-1-7
在线时间
61 小时
发表于 2017-8-16 09:24:34 | 显示全部楼层
yangkefeng 发表于 2017-3-10 18:40
可以可以   我没试过    这个想法挺好的   我觉得也不需要更换IP   只需要端口号改变就可以了   IP其实可 ...

一开始就建立同ip 不同端口号的服务器 不知道行不行。
回复

使用道具 举报

9

主题

209

帖子

1

精华

金牌会员

Rank: 6Rank: 6

积分
1358
金钱
1358
注册时间
2015-12-19
在线时间
108 小时
发表于 2017-8-17 08:32:36 | 显示全部楼层
feelingtaking 发表于 2017-8-16 09:24
一开始就建立同ip 不同端口号的服务器 不知道行不行。

同ip 不同端口号的服务器 是可以建立的,客户端去连接的时候只要选择对应的端口号就可以了
求指导!!!兄弟
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-18 12:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表