代码如下:
</pre><pre>package main
import (
"bufio"
"fmt"
"net"
"os"
"time"
)
const (
Head = 4
)
var (
ClientMap map[int]net.Conn = make(map[int]net.Conn)
)
func main() {
fmt.Println(os.Args[0])
ip_port := "127.0.0.1:843"
if len(os.Args) > 1 {
ip_port = os.Args[1]
}
fmt.Println(
"\nFlash AS 策略服务运行中...\n自动回应SocketXml端口(即843端口)的crossdomain.xml请求\n如需指定ip和端口,可以在程序启动时指定参数,格式如下\ngameserver843.exe 192.168.101.139:843",
"\n当前正在侦听", ip_port,
"\n请不要关闭此窗口...")
tcpAddr, err := net.ResolveTCPAddr("tcp4", ip_port)
checkError(err)
listener, err := net.ListenTCP("tcp", tcpAddr)
checkError(err)
clientIndex := 0
for {
clientIndex++
conn, err := listener.Accept()
if err != nil {
continue
}
go handleClient(conn, clientIndex)
}
}
func handleClient(conn net.Conn, index int) {
ClientMap[index] = conn
fmt.Println("")
fmt.Println("=======================")
fmt.Println("新用户连接, 来自: ", conn.RemoteA