V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xpyusrs
V2EX  ›  Vue.js

运行在浏览器里面的 js 怎么打开 tcp 端口

  •  
  •   xpyusrs · 2022-05-15 15:27:51 +08:00 · 3380 次点击
    这是一个创建于 702 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如服务器上监听了 127.0.0.1:8080, 我想在浏览器的时候连接这个端口往里面写入数据

    19 条回复    2022-07-14 15:00:35 +08:00
    liangkang1436
        1
    liangkang1436  
       2022-05-15 15:31:09 +08:00 via Android
    你直接通过 Ajax 调用就可以了,浏览器会去调用操作系统的 socket api 发起 tcp 链接
    xpyusrs
        2
    xpyusrs  
    OP
       2022-05-15 15:36:03 +08:00
    @liangkang1436 不是很懂, 能给个示例代码么
    Archeb
        3
    Archeb  
       2022-05-15 15:49:01 +08:00
    运行在浏览器里的 js 没有办法直接操作 raw socket....之前的 chrome app 可以,但是现在也已经下架了。
    现在浏览器里的通信要么 http ,要么 websocket ,要么 webrtc
    ch2
        4
    ch2  
       2022-05-15 15:58:49 +08:00
    这个服务必须是 http 或者 websocket 或者 webrtc
    pluvet
        5
    pluvet  
       2022-05-15 17:31:32 +08:00
    1. 建一个 relay server ,负责将 tcp 转成 websocket ,后面你懂的。
    2. WebTransport
    des
        6
    des  
       2022-05-15 17:48:54 +08:00 via iPhone
    槽点太多,建议先描述明白你要做的是一个什么东西,不然大家都是抓瞎,帮不了你什么忙
    oneisall8955
        7
    oneisall8955  
       2022-05-15 17:50:07 +08:00 via Android
    连接还是打开端口
    Aloento
        8
    Aloento  
       2022-05-15 17:51:45 +08:00
    最简单的方法就是调 fetch 发请求
    但是你得告诉我们你这个 8080 后面是什么,是 HTTP 服务吗?
    cpstar
        9
    cpstar  
       2022-05-15 17:57:34 +08:00
    @des 6# 大概率直接 ajax 访问 8080 就完活了,当然可能涉及到跨站问题,另行解决。
    Elissa
        10
    Elissa  
       2022-05-15 18:05:44 +08:00
    axios 写接口啊,要不然 websocket 。前端这不随便写个接口吗
    Macv1994
        12
    Macv1994  
       2022-05-15 19:22:20 +08:00
    你后端开的是 HTTP 服务吗?如果是 HTTP 服务直接用 fetch 发请求就好了。
    rekulas
        13
    rekulas  
       2022-05-15 20:45:03 +08:00   ❤️ 1
    所以说提问很重要
    运行在浏览器里面的 js 怎么打开 tcp 端口 ✖
    前端 js 怎么发起 web 请求 ✔
    xpyusrs
        14
    xpyusrs  
    OP
       2022-05-15 22:35:18 +08:00
    @Archeb 看来是的了, 我想其他办法了
    thetbw
        15
    thetbw  
       2022-05-15 23:39:56 +08:00
    作者想说的可能不是 http 请求,就是自己封装协议
    bthulu
        16
    bthulu  
       2022-05-16 08:27:59 +08:00
    楼主说的是打开 tcp 端口, 不是发起 http 请求, 是打开端口监听. 就是类似于在页面上启动一个 tcp 游戏服务器监听某个端口.
    lin07hui
        17
    lin07hui  
       2022-05-16 10:27:54 +08:00
    LZ 的标题和内容是一个问题吗?
    ychost
        18
    ychost  
       2022-05-16 11:43:27 +08:00
    electron 吧,不过这又不算浏览器了,算 C/S 了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5381 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 09:30 · PVG 17:30 · LAX 02:30 · JFK 05:30
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.