关于易语言服务器 客户端外网连接的问题
端口映射 是在你用路由器的时候用的
当你的某台电脑连接路由器时,路由器会分给你的电脑一个内网IP 一般是(192168XY)的形式
比如:你连接外网IP(我现在的外网IP是(119059111)),
客户端连接("119059111:123")'123是端口
客户端会将信息发送到你的路由器,但是路由器不知到"123"这个端口的信息应该怎么处理
这时,你就需要" 端口映射",将"123"端口的信息发送到内网的某个指定IP(192168XY)
形式: 客户---(连接/发送数据)-->---(外网)--->路由器----(端口映射)--->被分配指定IP的电脑(或其他的设备)
端口映射 在路由器的设置网页中找
这是我自己的看法,本人非专业,只是曾经研究过有错希望指出
两种办法:
1、在作为网关的电脑上装一个端口映射软件(可直接在网上免费下载,比如端口映射器(tcp mapping) v202)。
给用来做web服务器的那台电脑设置一个内网固定IP ,比如1921680188。
然后在作为网关的那台电脑上打开端口映射软件,将外来指向固定IP 80端口的数据直接映 射到1921680188上就可以了。
2、如果有路由器,在路由器里面开启DMZ,IP地址就填内网要提供服务的主机IP。
版本 2
支持库 mysql
子程序 _按钮1_被单击
局部变量 b, 整数型
局部变量 取查询值, 整数型
局部变量 MySQL语句, 文本型
局部变量 记录数量, 整数型
局部变量 i, 整数型
局部变量 姓名, 文本型
b = 连接MySql (“12026”, “root”, “123445”, “user”, 3306)
输出调试文本 (b)
MySQL语句 = “select from user_table”
执行SQL语句 (b, MySQL语句)
取查询值 = 取记录集 (b)
记录数量 = 取记录集行数 (取查询值)
输出调试文本 (记录数量)
计次循环首 (记录数量, i)
读字段值 (取查询值, “username”, 姓名)
如果 (姓名 = “admin”)
信息框 (“已找到”, 0, , )
跳出循环 ()
否则
如果结束
' //输出调试文本 (姓名)
到下一行 (取查询值)
计次循环尾 ()
-来源于网络
利用服务器控件和客户控件可以做出一个局域网的登录、控制系统
源码如下:
版本
2
支持库
sock
程序集
窗口程序集1
程序集变量
用户,
文本型
程序集变量
密码,
文本型
子程序
__启动窗口_创建完毕
局部变量
IP,
文本型,
,
"0"
IP
=
取本机IP
()
编辑框1内容
=
IP
[1]
子程序
_服务器_数据到达
局部变量
数据,
文本型
数据
=
删首尾空
(到文本
(服务器取回数据
()))
用户
=
取文本左边
(数据,
寻找文本
(数据,
“#”,
,
真)
-
1)
密码
=
取文本右边
(数据,
取文本长度
(数据)
-
寻找文本
(数据,
“#”,
,
真))
信息框
(“有用户登录:”
+
#换行符
+
用户
+
#换行符
+
密码,
0,
)
子程序
_按钮1_被单击
客户连接
(编辑框1内容,
19730)
客户发送数据
(到字节集
(编辑框2内容
+
“#”
+
编辑框3内容))
子程序
_服务器_客户进入
输出调试文本
(服务器取回客户
())
服务器和客户机 组件是基于连接的TCP通讯方式 必须服务器开启 然后 客户端连接成功后 才能通讯可以考虑使用UDP协议的 数据报 组件数据报是一种不可靠、小数据量的网络数据交互方式。如果传递的数据量过大,有可能会失败,最好不要超过 127 字节。如需要大数据量或者可靠数据传送方式,请使用基于连接的其它网络组件。
0条评论