Rumah > php教程 > PHP源码 > php socket

php socket

PHP中文网
Lepaskan: 2016-05-23 08:39:00
asal
1515 orang telah melayarinya

1.

1,'c'=>3,'b'=>8);
$json = json_encode($s);
$f = $json."\n";
socket_write($socket,$f,strlen($f));
$string = "";
$buf = "";
while ($int = socket_recv($socket, $buf, 1204,MSG_WAITALL)){
	$string .= $buf;
}
$arr = json_decode($string,true);
print_r($arr);
Salin selepas log masuk

2.

package main

import (
	"bufio"
	"encoding/json"
	"fmt"
	"net"
	"os"
)

type Server struct {
	ServerName string
	ServerIp   string
}
type Serverslice struct {
	Servers []Server
}

func main() {
	service := ":4444"
	tcpAddr, err := net.ResolveTCPAddr("tcp4", service)
	checkError(err)
	listener, err := net.ListenTCP("tcp", tcpAddr)
	checkError(err)
	fmt.Println("======>")
	fmt.Println("启动侦听程序")
	for {
		conn, err := listener.Accept()
		if err != nil {
			continue
		}
		fmt.Println("=========>")
		fmt.Println("侦听成功")
		go handleClient(conn)
	}
}

func handleClient(conn net.Conn) {
	defer conn.Close()
	var jsonStr Serverslice
	jsonStr.Servers = append(jsonStr.Servers, Server{ServerName: "nc", ServerIp: "127.0.0.1"})
	jsonStr.Servers = append(jsonStr.Servers, Server{ServerName: "sh", ServerIp: "127.0.0.2"})
	jsonStr.Servers = append(jsonStr.Servers, Server{ServerName: "hn", ServerIp: "127.0.0.3"})
	b, err := json.Marshal(jsonStr)
	if err != nil {
		fmt.Println("json err:", err)
	}
	a, _ := bufio.NewReader(conn).ReadString('\n')
	fmt.Println(string(a))
	conn.Write([]byte(b))
	fmt.Println(string(b))
}

func checkError(err error) {
	if err != nil {
		fmt.Fprintf(os.Stderr, "Fatal error: %s", err.Error())
		os.Exit(1)
	}
}
Salin selepas log masuk

           

       

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Cadangan popular
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan