go--microSocket服务端 php客户端
发布日期:2021-05-14 08:46:29 浏览次数:10 分类:精选文章

本文共 4755 字,大约阅读时间需要 15 分钟。

Service������������������������microSocket���������������������������

<->

���������������������microSocket���������������������������������������������������������������������������������������������������������������������������

<->

���������������

���������������������������������������Go������������������������microSocket������������������������

package mainimport (    "encoding/json"    "log"    "net"    "msf/github.com/mistaker/microSocket")var ser *msf.Msf// ������������������������type event struct {}// ���������������������������������func (this event) OnHandel(fd uint32, conn net.Conn) bool {    log.Printf("fd %d ������������", fd)    return true}// ������������������������func (this event) OnClose(fd uint32) {    log.Printf("fd %d ������������", fd)}// ������������������������func (this event) OnMessage(fd uint32, msg map[string]string) bool {    log.Printf("���������������%v���%v", msg)        // ������������������������    resData := map[string]string{        "key": msg["module"],        "val": "Hello",    }        // ���������������������JSON    stu, err := json.Marshal(resData)    if err != nil {        log.Printf("������������������%v", err)        return false    }        // ���JSON������������������������    a := []byte(string(stu))        // ������������������������������    ser.SessionMaster.WriteByid(fd, a)        return true}// ������������������������type Task struct {}// ������������������func (this Task) Default(fd uint32, data map[string]string) bool {    log.Println("default������")    return true}// ������������������func (this Task) BeforeRequest(fd uint32, data map[string]string) bool {    log.Println("������������������")    return true}// ������������������func (this Task) AfterRequest(fd uint32, data map[string]string) bool {    log.Println("������������������")    return true}// ������������������������������������func (this Task) Hello(fd uint32, data map[string]string) bool {    log.Println("���������������%v���%v", data)    // ������������������������������    ser.SessionMaster.WriteByid(fd, []byte("hehehehehehehehe"))    return true}func (this Task) Hs(fd uint32, data map[string]string) bool {    resData := map[string]string{        "key": data["module"],        "val": "Hello,World!",    }        stu, err := json.Marshal(resData)    if err != nil {        log.Printf("������������������%v", err)        return false    }        a := []byte(string(stu))    ser.SessionMaster.WriteByid(fd, a)        // ���������������������    // ser.SessionMaster.DelSessionById(fd)        return true}// ���������func main() {    log.SetFlags(log.Lshortfile | log.LstdFlags |        log.Llongfile)        // ���������MSF������    var initErr error    if initErr = msf.NewMsf(&msf.CommSocket{}); initErr != nil {        log.Fatalf("���������MSF���������%v", initErr)    }    ser =&initErr        // ������������������    ser.EventPool.RegisterEvent(&event{})    ser.EventPool.RegisterStructFun("ts", &Task{})        // ������������������    ser.Listening(":6565")}
## ������������������������������������������������������Php������������������������.sinux/Linux���������������microSocket������������������������```php
= 3){ break; } echo("Response was:" . $buff . "\n"); echo("input what you want to say to the server:\n"); $data1 ="module:ts|method:Hs|data:333333"; $result1 ="Header".pack('N', strlen($data1)).$data1; socket_write($socket, $result1); $i++; } socket_close($socket);

PHP������������������������

���������Php���������������������������������������������������������������������������������������

1) { // ������������������������������������������ socket_close($client_socket); $client_socket = null; } continue; } switch ($last_recv_time = $time) { case '������������': // ��������������������� break; default: // ��������������������� $data = json_decode($read, true); if ($client_socket === null) { // ������������ $client_socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); socket_connect($client_socket, $host, $port) or die("������������"); } socket_write($client_socket, json_encode($data)); echo "������������ OK\n"; break; } }

���������������������������������������������������������������������������������������������������������������������

������������������������������������������������������������������������������������������������������������������������������������������������������������������fd������������������������������������������������������������������������

上一篇:go ioutil读写文件
下一篇:go字符串数组以及字符串处理集合

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2025年04月11日 16时11分03秒