socket 获取客户端地址,获取socket ip
第0条导言1。注册账号,免费申请阿里云服务器2。配置服务器环境3。远程连接服务器4。将文件传输到服务器5。可能的问题。
0简介
在最近的一个项目中,我们需要使用一个客户端(电脑)来监控巡视设备(无人船)的数据。考虑用巡更设备携带一个4G通信模块,将数据上传到服务器,然后服务器再发送到电脑客户端。上位机将监控数据变化,并将接收到的数据保存到日志中。同时也可以开发一个APP,实时监控手机上的数据。
本文主要针对服务器和客户端之间的数据传输过程进行探索。由于本人之前从未接触过网络传播,如有错漏请批评指正!谢谢你
参见:https://download.csdn.net/download/qq_41821678/13986226的PDF版本和本文的代码部分。
下载过的可以联系我获取最新信息。电子邮件:zhankun3280@139.com。
1.注册账号,免费申请阿里云服务器。申请网站:https://free.aliyun.com/? SPM=5176.19720258 . j _ 2937——0.11 . e 9392 C4 a6 D5 rqnscm=2014 07 22.3079 . 7 . 2925
注册一个阿里云账号,登录。
申请免费的云服务器,试用期7天,如下图红框所示。对应的操作系统,我选择Linux系统18.04。
注册后,需要登录服务器。选择右上角的控制台——服务和产品3354云服务器ECS。
2.配置服务器环境。点击左侧的“实例”,选择服务器地址,检查实例,“重置实例密码”【非常重要,以后进入服务器系统需要这个账号和密码】
账号:默认为root。
密码:自己设置的密码。
重置密码后,服务器将重新启动。
然后设置“安全组”,可以在左边的“网络与安全”下找到。然后检查实例并单击“配置规则”。
然后添加访问规则。除了默认端口,您还可以添加一些其他端口。
这里,22/tcp是我们使用ssh远程连接的端口。
3.远程连接服务器这里有三种远程连接方法。
工作台远程连接VNC远程连接PuTTY远程连接(1)工作台远程连接
注意:默认用户名是root;密码是之前重置的密码。(如果忘记了,可以自己重置)
工作台远程连接的最终界面如下:
(2)VNC远程连接
点击远程连接,选择“VNC远程连接”,然后立即登录。
注意,这里的密码是VNC密码,而不是之前设置的用户密码。如果您忘记了VNC密码,您也可以重置它。
VNC成功远程服务器界面如下:
(3)油灰远程连接
PuTTY下载
链接:https://pan.baidu.com/s/1hVCdrREJFy0qWbFycHZbug
提货代码:yst7
首先,复制服务器的公共IP。
然后打开PuTTY软件,输入刚刚复制的IP。
输入用户名和密码以远程连接到服务器。
用户名:默认根
密码:自己设置。如果忘记了,可以重置实例密码。
4.将文件传输到服务器并下载FileZilla软件
链接:https://pan.baidu.com/s/1_Oq5x9ubOc3FEbwpqf5Cfg
提货代码:u5dq
复制服务器的公共IP。
主机:sftp://您的公共IP
用户名:默认根
密码:自己设置的密码。
端口:默认值为22,可以为空。
然后单击“快速连接”将文件传输到服务器。
5.可能出现的问题(1)远程连接不可用,无论是PuTTY还是FileZilla软件都无法连接。
错误:致命错误:网络错误:连接重用错误:无法连接到服务器状态:正在等待重试。
错误网络错误:连接超时
原因之一是打开了服务器防火墙,然后不允许SSH,所以一直连不上。
解决方法:
首先,在服务器端(通过VNC远程连接访问服务器),在终端窗口中输入。
Sudo ufw状态#查看防火墙状态sudo ufw允许ssh #打开ssh的常用命令:
Sudufw enable/disable #打开/关闭防火墙sudo ufw allow/deny [service] #打开/关闭端口号# # #非常重要(2)客户端正在运行程序,无法连接到服务器。
错误s.connect ((host,port))time out error:[WinError 10060]连接尝试失败,因为连接方在一段时间后没有正确回复,或者连接的主机没有响应。
这可能是因为端口不允许,所以应该启用。
我们可以先检查一下防火墙状态,看看有没有自己设置的端口。如果没有,就需要开启。
Sudo ufw状态#查看防火墙状态sudo ufw允许/拒绝8088 #打开/禁用端口号sudo ufw允许/拒绝8088/tcp #打开/禁用端口号。此外,在防火墙(安全组)中配置此端口。请参见第2节,配置服务器环境。
如果还设置了端口号,客户端仍然无法连接到服务器。可能是服务器IP设置不正确。
配置服务器IP的操作步骤:
远程登录,进入服务器系统;检查服务器内网IP vim/etc/hosts vim/etc/hostname注意,服务器/etc/hosts是内网IP,客户端是外网IP。
(3)运行程序时,有时会遇到地址已被使用的错误。
错误操作系统错误:[errno98]地址已被使用
错误:[errno98]地址已被使用错误意味着端口被占用,没有被释放或者程序没有正常结束。
解决方法:
1.更换端口。
2.使用终端命令终止该进程。
Lsof -i:端口号#如lsof -i:8088kill -9 pid #pid是指进程的id号(端口号),kill -9用于强行杀死进程ps -fA grep python #查看正在运行的端口程序最终渲染图:
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。