Table des matières
Contenu de la question
Solution
Maison développement back-end Golang Go 1.21 inclura-t-il la possibilité d'héberger http via WebAssembly ? comment ?

Go 1.21 inclura-t-il la possibilité d'héberger http via WebAssembly ? comment ?

Feb 09, 2024 pm 11:20 PM
go语言 网络编程 overflow

Go 1.21 会包含通过 WebAssembly 托管 http 的功能吗?如何?

L'éditeur php Xiaoxin est heureux de répondre à votre question de savoir si Go 1.21 inclura la possibilité d'héberger HTTP via WebAssembly. Actuellement, la version Go 1.21 n’a pas été officiellement publiée, nous ne pouvons donc pas déterminer ses fonctionnalités spécifiques. Cependant, d'après ce que nous savons du langage Go, Go est très axé sur le développement de WebAssembly et la programmation réseau, il est donc très probable que la fonction d'hébergement HTTP via WebAssembly soit ajoutée dans une future version. Cela fournira aux développeurs des outils de développement Web plus flexibles et plus efficaces. Nous vous recommandons de continuer à prêter attention aux informations de version officielle du langage Go pour obtenir les dernières mises à jour et fonctionnalités.

Contenu de la question

Je souhaite essayer le serveur http via webassembly en déplacement. Je pense que go 1.20 ne prend pas en charge la compilation de go pour l'assemblage Web en dehors du navigateur, et la bibliothèque net/http n'est pas incluse dans tinygo.

Après avoir lu https://stackoverflow.com/a/76091829 (merci à @tachyonicbytes) j'ai essayé d'utiliser gotip 来完成此操作,但是每当我尝试启动服务器(或任何阻塞/等待功能)时,我都会收到错误: 致命错误:所有 goroutine 都在睡觉 - 死锁!. J'ai essayé de déplacer des éléments dans une goroutine avec une fonction d'attente, mais cela termine simplement la fonction ou donne la même erreur. Voici comment je le gère :

go install golang.org/dl/gotip@latest
gotip download
goos=wasip1 goarch=wasm gotip build -o server.wasm server.go && wasm3 server.wasm
Copier après la connexion

Ceci est un exemple server.go :

package main

import (
    "fmt"
    "net/http"
    "sync"
)

func main() {
    s := http.Server{
        Addr: ":8080",
        Handler: http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
            w.Write([]byte("Hello, World!"))
        }),
    }

    fmt.Println("about to serve")
    var wg sync.WaitGroup
    wg.Add(1)
    go func() {
        err := s.ListenAndServe()
        if err != nil {
            fmt.Printf("Unable to serve: %v\n", err)
        }
        wg.Done()
        fmt.Println("serving stopped")
    }()
    wg.Wait()
    fmt.Println("started up server")
}
Copier après la connexion

Alors, est-ce simplement parce que go 1.21 est un wip, parce que je ne comprends pas la bonne façon de lancer une fonction de blocage, ou parce que go 1.21 ne prend pas en charge une telle chose ?

J'essaie de démarrer un serveur Go dans le runner webassembly côté serveur wasm3 sur un Mac Intel. Je m'attendais à ce qu'il fournisse un service http, mais j'ai constaté qu'il provoquait une erreur ou se terminait immédiatement.

Solution

Heureux de vous aider !

Malheureusement, il ne semble pas que wasm networking fera partie de go 1.21. La mise en œuvre du réseau dans wasm est un peu compliquée. En exécutant votre code, j'ai obtenu cette ligne :

sdk/gotip/src/net/net_fake.go:229
Copier après la connexion

Après Inspection, il comporte l'avertissement suivant :

// Fake networking for js/wasm and wasip1/wasm.
// This file only exists to make the compiler happy.
Copier après la connexion

La difficulté est que wasi ne fournit qu'un support partiel pour les sockets, donc wasi n'a pas encore de socket Berkeley complet.

La bonne nouvelle est que vous pouvez réellement faire du http, mais en tinygo. tinygo fournit un support partiel pour le package go net/http avec son driver.

Si vous voulez en voir quelques utilisations pratiques, j'essaie actuellement de porter ce en utilisant le projet tinygo vers wasm. Si je me souviens bien, cela fonctionne, mais cela fait un moment et je suis sûr que je n'ai pas encore terminé la conversion. Ce n'est peut-être pas possible pour le moment.

Une autre chose est wasm3 Bien qu'il existe une implémentation partielle de wasi, la partie socket peut ne pas être implémentée. Je recommande également d'utiliser d'autres environnements d'exécution, tels que wasmtime, wasmer, wasmedge ou wazero, comme l'a suggéré @gedw99. wasmedge offre un excellent support pour les sockets, mais dans votre cas, le compilateur est en fait le problème.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Le dernier prix du bitcoin en 2018-2024 USD Le dernier prix du bitcoin en 2018-2024 USD Feb 15, 2025 pm 07:12 PM

Prix ​​USD Bitcoin en temps réel Facteurs qui affectent le prix du bitcoin Indicateurs pour prédire les prix des futurs bitcoins Voici quelques informations clés sur le prix du bitcoin en 2018-2024:

Le résumé le plus complet des détails des prix historiques depuis la naissance de Bitcoin (la dernière version en 2025) Le résumé le plus complet des détails des prix historiques depuis la naissance de Bitcoin (la dernière version en 2025) Feb 15, 2025 pm 06:45 PM

Nœud important pour le prix historique du Bitcoin 3 janvier 2009: Genesis Block a été généré, le premier Bitcoin a été généré, avec une valeur de 0 USD. 5 octobre: ​​La première transaction Bitcoin, un programmeur a acheté deux pizzas avec 10 000 Bitcoins, ce qui équivaut à 0,008 $. 9 février 2010: Le Mt. Gox Exchange est allé en ligne et est devenu la plate-forme principale du commerce du bitcoin précoce. 22 mai: Bitcoin percède 1 $ pour la première fois. 17 juillet: le prix du bitcoin a plongé à 0,008 $, atteignant un creux historique. 9 février 2011: Le prix du bitcoin perdra 10 $ pour la première fois. 10 avril: Mt. Go

Quelles sont les plates-formes de pré-vente de monnaie virtuelle? Top 10 des échanges de pré-vente de monnaie virtuelle Quelles sont les plates-formes de pré-vente de monnaie virtuelle? Top 10 des échanges de pré-vente de monnaie virtuelle Feb 15, 2025 pm 05:54 PM

La plate-forme de prévente de devises virtuelles est un canal important pour les investisseurs pour investir dans des projets de devises virtuels. Grâce aux préventes, les investisseurs peuvent avoir la possibilité d'acheter des jetons de pièces virtuels à des prix inférieurs au prix du marché, atteignant ainsi les rendements de bénéfices potentiels. Cet article présentera les dix premiers échanges de pré-vente de monnaie virtuelle, notamment Binance LaunchPad, Kucoin Spotlight, Huobi Prime, Gate.io Startup, Bybit LaunchPad, Polkastarter, TrustSwap, Duckdao, Bscpad et SeedIfy. Ces plateformes offrent une variété de projets de monnaie virtuels, couvrant Defi, NFT, GameFi et d'autres domaines, pour l'investissement

Dans un article, découvrez: quel est le taux de fonds de monnaie virtuel et comment utiliser le taux de fonds pour négocier Dans un article, découvrez: quel est le taux de fonds de monnaie virtuel et comment utiliser le taux de fonds pour négocier Feb 15, 2025 pm 10:06 PM

Les taux de financement de monnaie virtuelle sont des frais facturés aux commerçants occupant des postes dans le commerce des dérivés. Il reflète une prime ou une remise entre le prix du marché au comptant et le prix du contrat à terme lorsque le contrat expire. Lorsque le prix au comptant est plus élevé que le prix à terme, le taux de capital est négatif, ce qui signifie que les commerçants qui sont à court terme paient des frais aux commerçants qui se positionnent longtemps. Au contraire, lorsque le prix au comptant est inférieur au prix à terme, le taux de capital est positif, ce qui signifie que les commerçants qui font des postes à long terme paient des frais aux commerçants qui font des positions courtes.

Analyse de la monnaie virtuelle la plus prometteuse en 2025 Top 10 de l'inventaire de la monnaie virtuelle potentielle en 2025 Analyse de la monnaie virtuelle la plus prometteuse en 2025 Top 10 de l'inventaire de la monnaie virtuelle potentielle en 2025 Feb 15, 2025 pm 05:51 PM

Le marché des devises virtuels évolue constamment et une croissance passionnante est attendue dans les années à venir. En 2025, certaines crypto-monnaies devraient se démarquer et devenir les investissements les plus prometteurs dans l'espace. Cet article analyse certaines des monnaies virtuelles les plus prometteuses en 2025, couvrant leurs capacités uniques, leurs potentiels de croissance et leurs possibilités qui ont un impact sur l'avenir. Ces devises comprennent Ethereum, Bitcoin, Cardano, Polkadot et Binance Coin, qui jouent un rôle clé dans le développement de la finance décentralisée, des contrats intelligents et des technologies de blockchain. Comprenant le potentiel de ces devises virtuelles, les investisseurs peuvent être prêts à saisir les opportunités apportées par le marché des devises virtuelles en 2025.

Plate-forme de trading de devises virtuelles Entrée de la plateforme de trading de devises virtuelles régulières mondiales Portail de site Web officiel Plate-forme de trading de devises virtuelles Entrée de la plateforme de trading de devises virtuelles régulières mondiales Portail de site Web officiel Feb 15, 2025 pm 04:12 PM

En 2025, le modèle de plates-formes de trading de devises virtuelles a subi un changement majeur et les plates-formes formelles ont dominé. Ces échanges officiellement reconnus offrent aux utilisateurs un environnement de trading sûr et fiable et répondent aux normes strictes établies par les régulateurs. Comme les crypto-monnaies jouent un rôle de plus en plus important dans le système financier mondial, les plateformes formelles de trading de devises virtuelles deviendront un facteur clé pour promouvoir leur adoption et leur popularité généralisées.

Combien vaut le bitcoin maintenant 2025 combien vaut le bitcoin en janvier Combien vaut le bitcoin maintenant 2025 combien vaut le bitcoin en janvier Feb 15, 2025 pm 06:18 PM

À ce stade, la valeur du bitcoin est affectée par plusieurs facteurs, notamment les relations d'approvisionnement et de demande, le développement technologique, les politiques réglementaires et la situation macroéconomique. En janvier 2025, l'évaluation du bitcoin peut fluctuer en raison de changements dans ces facteurs.

Où acheter des pièces de mélana? Melania Coin Trading Exchange 2025 classement Où acheter des pièces de mélana? Melania Coin Trading Exchange 2025 classement Feb 15, 2025 pm 05:03 PM

L'article se concentre sur l'achat et la vente d'informations sur les pièces de monnaie de Melania et se concentre sur le classement des échanges potentiels en 2025. L'article explore différents canaux pour obtenir des pièces de monnaie Melania et fournit aux investisseurs des informations sur le meilleur endroit pour acheter.

See all articles