gpt4 book ai didi

javascript - 浏览器收到 Websocket 输出,提示 "Invalid UTF-8 sequence in header value "

转载 作者:IT王子 更新时间:2023-10-29 01:43:26 26 4
gpt4 key购买 nike

当我在浏览器中加载页面时,页面得到了正确的服务。当 javascript 执行时,Chrome 的控制台输出显示:

Invalid UTF-8 sequence in header value 

我已经搜索了那个字符串,但找不到关于 golang 的任何提及。

如何告诉 golang 不要将 unicode 字符写入网络套接字?

我认为这是问题的原因,因为“网络”选项卡只显示一个空的请求和响应。


中国CSSE:

main.go:

package main

import (
"fmt"
"net/http"
"log"
"code.google.com/p/go.net/websocket"
//"github.com/garyburd/go-websocket/websocket"
)

const listenAddress = "localhost:9999"

func wsHandler(webSck *websocket.Conn) {
fmt.Fprint(webSck, "Rpy")
fmt.Println("Sent \"Rpy\" to web socket", webSck)
//more code here
}

func main() {
http.Handle("/", http.FileServer(http.Dir("./static")))
http.Handle("/ws", websocket.Handler(wsHandler))
err := http.ListenAndServe(listenAddress, nil)
if err != nil {
log.Fatal(err)
}
}

静态/main.js

var socket = new WebSocket("ws://localhost:9999/ws");
socket.onopen = function() {
socket.onmessage = function(m) {
console.log("Received: " + m);
};
socket.send("Req\n");
};

编辑:

按照@Intermernet 的建议,我已经设置了Sec-WebSocket-Protocol header 。无济于事,仍然得到 Invalid UTF-8 sequence in header value

另请注意,我需要执行 webSck.Config().Header = make(http.Header) 的原因是它是 nil - 由日志确认webSck.Config() 上的语句。解决另一个问题——为什么我必须这样做;是否有我在某处遗漏的初始化步骤?

func wsHandler(webSck *websocket.Conn) {
webSck.Config().Header = make(http.Header)
webSck.Config().Header.Add("Sec-WebSocket-Protocol", "chat")
fmt.Printf("ws.Config() %#v\n", webSck.Config())
var buf []byte;
buf = []byte("Rpy")
_, err := webSck.Write(buf)
if err != nil {
fmt.Println("Error:", err)
} else {
fmt.Printf("Sent \"Rpy\" to web socket %#v\n", webSck)
}
}

最佳答案

此问题是否与 code.google.com/p/go.net/websocket 最近的更改有关?

https://code.google.com/p/go/source/detail?r=1e65ca1b2499c473ec267ca1d6759b3dc920a599&repo=net

关于javascript - 浏览器收到 Websocket 输出,提示 "Invalid UTF-8 sequence in header value ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16507595/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com