关于易语言服务器 客户端外网连接的问题
端口映射 是在你用路由器的时候用的
当你的某台电脑连接路由器时,路由器会分给你的电脑一个内网IP 一般是(192168XY)的形式
比如:你连接外网IP(我现在的外网IP是(119059111)),
客户端连接("119059111:123")'123是端口
客户端会将信息发送到你的路由器,但是路由器不知到"123"这个端口的信息应该怎么处理
这时,你就需要" 端口映射",将"123"端口的信息发送到内网的某个指定IP(192168XY)
形式: 客户---(连接/发送数据)-->---(外网)--->路由器----(端口映射)--->被分配指定IP的电脑(或其他的设备)
端口映射 在路由器的设置网页中找
这是我自己的看法,本人非专业,只是曾经研究过有错希望指出
第一个问题:2个客户不可能同一时间的登录是没有任何问题的,100个客户同时登录也没问题。
第二个问题:用数据库管理客户的信息,客户登录的时候从数据库中调用数据,并找到对应的数据发送给客户端即可,具体操作方法几句话说不清楚,但原理是这样的。
版本 2
程序集 窗口程序集1
程序集变量 客户, 文本型
子程序 __启动窗口_创建完毕
服务器1端口 = 19730
' 这里是将服务器跟客户端放在同一个窗口下写的
' 客户1连接服务器的3个条件,1:服务端已经运行。2:服务地址填写正确。3:端口要一致
' 本机测试用127001就可以了,外网的话根据外网IP填写,或用域名解析。例如 花生壳等软件,解析后直接填入域名。
' 端口 0-65535 只要不跟其他程序使用的端口冲突就可以
如果真 (客户1连接 (“127001”, 19730) = 假)
信息框 (“连接服务器失败!”, 0, )
返回 ()
如果真结束
信息框 (“连接服务器成功!”, 0, )
子程序 _服务器1_客户进入
' 当客户连接进来以后可以先取回这个客户的IP,等下发送数据数用得到,有多个客户连接的话可以用数组保存
客户 = 服务器1取回客户 ()
子程序 _按钮2_被单击
' 客户发送数据
客户1发送数据 (“客户1发送来的数据”)
子程序 _按钮1_被单击
' 服务器发送数据
服务器1发送数据 (客户, “服务器1发送来的消息”, )
子程序 _客户1_数据到达
局部变量 消息, 文本型
' 客户取回服务器发来的消息
' 接收到的数据时字节集型的,先到下文本
消息 = 到文本 (客户1取回数据 ())
信息框 (消息, 0, )
' 当然,如果发送的不是文本,而是一个文件、一张的话,就不用到文本了。而应该用一个字节集型的变量来接收
子程序 _服务器1_数据到达
局部变量 消息, 文本型
' 接收客户发送的数据
消息 = 到文本 (服务器1取回数据 ())
信息框 (消息, 0, )
0条评论