搜索
bottom↓
回复: 18

怎么实现web上点击某个按钮向特定的TCP服务端发送数据

[复制链接]

出0入8汤圆

发表于 2021-3-24 14:32:51 来自手机 | 显示全部楼层 |阅读模式
本帖最后由 12tangyang12 于 2021-3-24 14:38 编辑

如题:平台是asp.net ,阿里云服务器开放了个50000端口。怎么实现在一个简单的web页面上,点击某个按钮,web向服务器50000端口发送一串数据。最好可以实现双向通信

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出110入93汤圆

发表于 2021-3-24 14:42:19 | 显示全部楼层
websocket 可以么?

出0入8汤圆

 楼主| 发表于 2021-3-24 14:43:53 来自手机 | 显示全部楼层
memstone 发表于 2021-3-24 14:42
websocket 可以么?

也是查到了这个,不知道怎么用

出0入0汤圆

发表于 2021-3-24 14:53:18 | 显示全部楼层
50000端口如果是裸TCP/IP不好弄的。

出0入8汤圆

 楼主| 发表于 2021-3-24 14:55:56 来自手机 | 显示全部楼层
zly_1980 发表于 2021-3-24 14:53
50000端口如果是裸TCP/IP不好弄的。

正是裸端口,有没有什么办法可以触发某东西向那端口发个数据

出0入0汤圆

发表于 2021-3-24 14:58:23 | 显示全部楼层
浏览器侧的javascript只可以发起ajax请求(默认还是发向本站点http服务器)或者websocket请求。
这二种你需要在服务器实现http服务。

出0入8汤圆

 楼主| 发表于 2021-3-24 15:01:29 来自手机 | 显示全部楼层
zly_1980 发表于 2021-3-24 14:58
浏览器侧的javascript只可以发起ajax请求(默认还是发向本站点http服务器)或者websocket请求。
这二种你需 ...

可实现双向通信吗?

出0入0汤圆

发表于 2021-3-24 15:10:55 | 显示全部楼层
12tangyang12 发表于 2021-3-24 15:01
可实现双向通信吗?

websocket可以,js的是模拟的,服务端就不是裸端口,需要在上面运行http服务。
一般不是这样用的

出0入8汤圆

 楼主| 发表于 2021-3-24 15:25:24 来自手机 | 显示全部楼层
zly_1980 发表于 2021-3-24 15:10
websocket可以,js的是模拟的,服务端就不是裸端口,需要在上面运行http服务。
一般不是这样用的 ...

一般是不是web端的数据存数据库里,再用一个服务程序查数据库转发?

出10入61汤圆

发表于 2021-3-24 15:26:13 | 显示全部楼层
WS可以实现双向通信。也可以HTTP异步请求你后台,你后台再往这个端看发数据

出0入8汤圆

 楼主| 发表于 2021-3-24 15:43:21 来自手机 | 显示全部楼层
tcm123 发表于 2021-3-24 15:26
WS可以实现双向通信。也可以HTTP异步请求你后台,你后台再往这个端看发数据 ...

有点不明白的是,Http端需要不断刷新吗?怎样把收到的数据返回给浏览器

出10入61汤圆

发表于 2021-3-24 15:50:16 | 显示全部楼层
12tangyang12 发表于 2021-3-24 15:43
有点不明白的是,Http端需要不断刷新吗?怎样把收到的数据返回给浏览器

需要双向通信用WS最适合的。你的50000端看目前有跑了一个TCP 服务器,客户端发送一个数据给它就有相应回复对吧

你要用HTTP的话,简单做法就是ASP.NET 收到 HTTP AJAX请求(按按键)后就构造一个同步TCP客户端连50000这个端口发数据,等收到回复或超时HTTP再输出回复内容就行了。

每次要连TCP服务器,实时性会比较差

出0入8汤圆

 楼主| 发表于 2021-3-24 16:07:07 来自手机 | 显示全部楼层
tcm123 发表于 2021-3-24 15:50
需要双向通信用WS最适合的。你的50000端看目前有跑了一个TCP 服务器,客户端发送一个数据给它就有相应回 ...

这样的话,每次交换数据都是浏览器发起的?按下按钮,浏览器发起,Asp.net收到后向50000发送数据,然后,Asp.net等待50000返回的数据,然后有了返回,浏览器再显示。能否浏览器打开网页,就一直建立起socket 连接,随时有50000发来数据,浏览器显示?

出0入0汤圆

发表于 2021-3-24 17:11:49 | 显示全部楼层
本帖最后由 zly_1980 于 2021-3-24 17:17 编辑

你的想法比较特别,正常的流程是制作一个WEB应用程序,这个WEB应用程序部署在服务器上,绑定一个端口,比如50000;
这样用户访问你的WEB应用程序,比如:http://192.168.1.2:50000,就会展现出WEB应用的前端界面。

按你的描述,你的前端就是有一个按钮,用户点这个按钮就往服务器发一个http请求,这样你后台的代码逻辑就可以取到前端传输过来的数据(WEB后台的框架会帮你解析HTTP协议,你后台代码拿的就是各类应用数据),那到数据后处理完(可以计算、写数据库等等,就是后台代码的逻辑)再返回给前端,这就是一次完整的http交互。

如果这个WEB程序是别人做的,你还给他提供数据,就应该你再做一个WEB程序,由他的后台程序在拿到他前端的请求数据后,再在后台代码逻辑去请求你的WEB应用程序,就是我们常说的API接口。

出0入8汤圆

 楼主| 发表于 2021-3-24 17:30:49 来自手机 | 显示全部楼层
zly_1980 发表于 2021-3-24 17:11
你的想法比较特别,正常的流程是制作一个WEB应用程序,这个WEB应用程序部署在服务器上,绑定一个端口,比如 ...

老哥,最终就想实现一个类似于网络聊天室的模式,各终端硬件设备和用户web端通过服务端50000数据交互。什么思路比较好?

出90入4汤圆

发表于 2021-3-24 19:52:50 | 显示全部楼层
PHP不可以吗?

出0入8汤圆

发表于 2021-3-24 19:54:54 来自手机 | 显示全部楼层
本帖最后由 canspider 于 2021-3-24 19:56 编辑

需要提供web页面的服务器帮你中转一下
因为web里面直接跨域访问会有安全问题,不是所有浏览器都能支持,且不同浏览器访问方式也不太一样

出10入61汤圆

发表于 2021-3-24 20:18:35 | 显示全部楼层
12tangyang12 发表于 2021-3-24 17:30
老哥,最终就想实现一个类似于网络聊天室的模式,各终端硬件设备和用户web端通过服务端50000数据交互。什 ...


你的需求用支持WS协议的MQTT代理实现最简单了  

出0入0汤圆

发表于 2021-3-25 09:49:09 | 显示全部楼层
本帖最后由 zly_1980 于 2021-3-25 09:50 编辑
12tangyang12 发表于 2021-3-24 17:30
老哥,最终就想实现一个类似于网络聊天室的模式,各终端硬件设备和用户web端通过服务端50000数据交互。什 ...


openfire+spark
openfire是实现XMPP协议的服务器,spark是PC端的客户端实现,也有javascript的客户端库实现,百度找一下吧。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-6-2 19:08

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表