树莓派与阿里云服务器之间的无线通信(非局域网)
參考:Linux虛擬機sqlite數(shù)據(jù)庫安裝教程
作者:圖觸靚
發(fā)布時間: 2020-08-01 15:45:026
網(wǎng)址:https://blog.csdn.net/bhbhhyg/article/details/107731166
購買服務器后。我們可以點擊控制臺,找到實例列表,點擊遠程連接
點擊遠程連接->Workbench遠程連接->輸入密碼后登錄,即可看到一個linux的操作界面(如果買的是linux的服務器)
相當于我們在這個界面使用一臺跑linux的云電腦,這臺電腦可以在任意有網(wǎng)絡的地方被訪問。電操作方法,就和普通linux電腦類似,只不過是指令操作。
這就是云服務器的操作界面,操作方法,指令等都和Linux一模一樣我們用關鍵配置服務器代碼如下
注意:這里的初始化服務器,ip需要填內(nèi)網(wǎng)的ip,服務器內(nèi)網(wǎng)ip可以通過ifconfig命令來查看。端口號要先在網(wǎng)絡與安全->安全組中先添加
點擊上圖中左邊的一串英文藍色字進入以下界面
這里就可以自己添加了。
添加完成之后我們需要將該端口,拉入防火墻白名單
這里的指令有三個
firewall-cmd --list-all 列出所有端口號白名單
firewall-cmd --add-port=8888/tcp --permanent 添加一個8888端口為白名單
firewall-cmd --reload 更新防火墻操作
這樣我們在任意網(wǎng)絡通過云服務器的公網(wǎng)ip與對應的端口號,都可以與服務器進行連接。
然后就是樹莓派的連接代碼了
int initconnect(){ int s_fd=socket(AF_INET, SOCK_STREAM,0); if (s_fd==-1) {perror("socket");exit(-1); } struct sockaddr_in addr; struct sockaddr_in addr1; memset(&addr,0,sizeof(struct sockaddr_in)); memset(&addr1,0,sizeof(struct sockaddr_in)); addr.sin_family=AF_INET; addr.sin_port=htons(8888); //這里要填自己寫在服務器里已經(jīng)添加過的端口號 inet_aton("47.115.9.106",&addr.sin_addr); //注意這里要填阿里云服務器的公網(wǎng)ipif(connect(s_fd,(struct sockaddr *)&addr,sizeof(struct sockaddr))==-1) { printf("0ooooooooooooooooooooo");perror("connect");exit(-1); } return s_fd; }連接前,需要先在云電腦里面把自己寫的Linux服務器代碼運行,再運行樹莓派的客戶端代碼。
這樣樹莓派和阿里云之間的無線通信就成功建立了。
總結(jié)
以上是生活随笔為你收集整理的树莓派与阿里云服务器之间的无线通信(非局域网)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CAEmitterLayer 和 CA
- 下一篇: 解决空值的策略