我开始玩websockets + go and well我认为我误解了Go中的websockets非常基本的东西.
我想简单地听一下websocket连接并进行相应的处理.但是我在Go中使用websocket看到的所有示例都是为连接到websocket的网页提供服务,这是一项要求吗?
以下是我设置的基本echo服务器:
package main
import (
"fmt"
"code.google.com/p/go.net/websocket"
"net/http"
)
func webHandler(ws *websocket.Conn) {
var s string
fmt.Fscan(ws, &s)
fmt.Println("Received: ", s)
}
func main() {
fmt.Println("Starting websock server: ")
http.Handle("/echo", websocket.Handler(webHandler))
err := http.ListenAndServe(":8080", nil)
if err != nil {
panic("ListenAndServe: " + err.Error())
}
}
Run Code Online (Sandbox Code Playgroud)
这是用于连接的javascript:
ws = new WebSocket("ws://localhost:8080/echo");
ws.onmessage = function(e) {
console.log("websock: " + e.data);
};
Run Code Online (Sandbox Code Playgroud)
但是,这会导致:与'ws:// localhost:8080/echo'的WebSocket连接失败:意外的响应代码:403
我的理解是没有ToString重载需要一个sbyte并且它被明确地转换为short.但这些领先1的来自哪里?
Console.WriteLine("{0}", Convert.ToString((sbyte)-128, 2));
>1111111110000000
Run Code Online (Sandbox Code Playgroud)
谢谢,Jibe
基本上当我尝试为TRBL定义不同的填充量时,规则会被忽略,但是当我只定义一个填充量时,规则就可以工作.
相关的html如下:
<div class="content">
<div class="contenttext">
<h1>Hello.</h1>
<p>Test text, needs more testing.</p>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
CSS如下:
*
{
margin: 0px;
padding: 0px;
}
body
{
font: normal 100% 'trebuchet ms', arial, sans-serif;
}
.content
{
background: #d9d5b7;
width: 100%;
height: 600px;
}
.contenttext
{
background: #FFFFFF;
width: 750px;
margin: 0 auto;
height: 500px;
padding: 25px;
}
.contenttext h1
{
font: bold 150% 'gothic century', arial, sans-serif;
color: #585858;
margin: 0px;
padding: 15px, 0px, 15px, 0px;
}
p
{
color: #707070;
} …Run Code Online (Sandbox Code Playgroud)