金牌会员
 
- 积分
- 1094
- 金钱
- 1094
- 注册时间
- 2017-11-12
- 在线时间
- 119 小时
|
2金钱
本帖最后由 ciolcs 于 2020-11-21 15:25 编辑
1.需求:我现在想用网口eth0连接一个ip,开发板做客户端,连接到服务器上。然后用网口eth1连接到另一个ip,拿开发板服务端,连接另一个客户端ip。
2.说明:我的开发板既是客户端又是服务端,使用两个网口eth0和eth1。
3.用途:通过开发板eth1传输采集的设备信息到开发板,然后把开发板的信息通过eth0转发到云服务器上。
因为对linux应用开发不了解,然后这个只是一个想法,也不知道可行性,想请大家提供一些思路。
----------------------2020.10.28 -19:00-------------------------------------------------------------------------------------------------
我在这里添加一个简单的网络通信应用程序:
说明:这里是根据别人的一份源码修改的,代码改的有点乱!
修改对应的ip地址和选择客户端还是服务端,就可以直接在开发板或者ubuntu运行的。文件名:netApp
现在代码有一个雏形,找了网上用套接字的资料,流程大概像代码那样。
实际问题:
1.我想的是eth0跟客户端通信,自己做服务端。eth1跟服务端通信,自己做客户端。这样分两根网线,两条路同时通信。
2.实际上是只能用eth0来通信,eth1完全不起作用。我也不知道怎么和eth0、eth1关联。
3.而且客户端和服务端只能二选一,我试过轮循的方式结果还是只能连接其中一个用户端。
问题:
1.eth0、eth1和socket有什么关联?要修改哪方面的内容才能像我想的那样工作?
2.实现我那种通信方式大概软件流程是什么样的?
-----------------------2020.10.28-20:00-------------------------------------------------------------------------------------------
1.经过朋友的提示,可以添加静态路由的方式,用特定的网卡跟相应的ip通信。
route add -net 192.168.4.0/24 gw 192.168.4.1 dev eth1
-----------------------2020.10.29-11:24-------------------------------------------------------------------------------------------
1.在etc/init.d/rcS中修改静态路由为:
up route add -net 192.168.4.0/24 gw 192.168.4.1 dev eth1
-----------------------2020.11.21-15:11-------------------------------------------------------------------------------------------
1.阿尔法开发板上的两个网口eth0和eth1,可以用上述设置静态路由的方法,让一个网口走内网,一个网口走外网。
2.网络客户端和服务端用套接字函数即可,百度了很多教程,跟着做就行。
3.写应用程序不用太关心底层的东西,网络驱动是用正点原子教程修改好的,现在已经可以实现上述的功能了。
|
|