12tangyang12 发表于 2021-3-24 14:32:51

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

本帖最后由 12tangyang12 于 2021-3-24 14:38 编辑

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

memstone 发表于 2021-3-24 14:42:19

websocket 可以么?

12tangyang12 发表于 2021-3-24 14:43:53

memstone 发表于 2021-3-24 14:42
websocket 可以么?

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

zly_1980 发表于 2021-3-24 14:53:18

50000端口如果是裸TCP/IP不好弄的。

12tangyang12 发表于 2021-3-24 14:55:56

zly_1980 发表于 2021-3-24 14:53
50000端口如果是裸TCP/IP不好弄的。

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

zly_1980 发表于 2021-3-24 14:58:23

浏览器侧的javascript只可以发起ajax请求(默认还是发向本站点http服务器)或者websocket请求。
这二种你需要在服务器实现http服务。

12tangyang12 发表于 2021-3-24 15:01:29

zly_1980 发表于 2021-3-24 14:58
浏览器侧的javascript只可以发起ajax请求(默认还是发向本站点http服务器)或者websocket请求。
这二种你需 ...

可实现双向通信吗?

zly_1980 发表于 2021-3-24 15:10:55

12tangyang12 发表于 2021-3-24 15:01
可实现双向通信吗?

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

12tangyang12 发表于 2021-3-24 15:25:24

zly_1980 发表于 2021-3-24 15:10
websocket可以,js的是模拟的,服务端就不是裸端口,需要在上面运行http服务。
一般不是这样用的 ...

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

tcm123 发表于 2021-3-24 15:26:13

WS可以实现双向通信。也可以HTTP异步请求你后台,你后台再往这个端看发数据

12tangyang12 发表于 2021-3-24 15:43:21

tcm123 发表于 2021-3-24 15:26
WS可以实现双向通信。也可以HTTP异步请求你后台,你后台再往这个端看发数据 ...

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

tcm123 发表于 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服务器,实时性会比较差

12tangyang12 发表于 2021-3-24 16:07:07

tcm123 发表于 2021-3-24 15:50
需要双向通信用WS最适合的。你的50000端看目前有跑了一个TCP 服务器,客户端发送一个数据给它就有相应回 ...

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

zly_1980 发表于 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接口。

12tangyang12 发表于 2021-3-24 17:30:49

zly_1980 发表于 2021-3-24 17:11
你的想法比较特别,正常的流程是制作一个WEB应用程序,这个WEB应用程序部署在服务器上,绑定一个端口,比如 ...

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

john78 发表于 2021-3-24 19:52:50

PHP不可以吗?

canspider 发表于 2021-3-24 19:54:54

本帖最后由 canspider 于 2021-3-24 19:56 编辑

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

tcm123 发表于 2021-3-24 20:18:35

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

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

zly_1980 发表于 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的客户端库实现,百度找一下吧。
页: [1]
查看完整版本: 怎么实现web上点击某个按钮向特定的TCP服务端发送数据