https://github.com/devfeel/connx
A simple tcp server/client go framework.
https://github.com/devfeel/connx
client conn connection go golang server tcp
Last synced: about 2 months ago
JSON representation
A simple tcp server/client go framework.
- Host: GitHub
- URL: https://github.com/devfeel/connx
- Owner: devfeel
- Created: 2018-06-19T06:44:28.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2018-07-24T06:21:02.000Z (almost 7 years ago)
- Last Synced: 2025-04-14T17:05:14.337Z (about 2 months ago)
- Topics: client, conn, connection, go, golang, server, tcp
- Language: Go
- Size: 12.7 KB
- Stars: 7
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
## devfeel/connx
A simple tcp server/client go framework.## Feature:
* 极其简单的使用代码
* 经典Server/Client模式
* 解决经典粘包问题
* Server支持主动关闭
* Client支持Send+Write\OnlySend模式
* 提供默认的Message协议,自包含版本、命令、数据,应用可直接使用
* 支持自定义HeadFlag设定,用于验证消息头## Code:
#### server code:
```go
func main(){
server, err := connx.NewServer("127.0.0.1:7069", onConnHandler)
if err != nil{
fmt.Println("GetNewServer error", err)
return
}
fmt.Println("GetNewServer begin listen")
server.Start()
}func onConnHandler(conn *connx.Connection) error{
msg, err := conn.ParseMessage()
fmt.Println(msg, err)msgReply := connx.ResponseMessage("echo ok")
conn.SendMessage(msgReply)
return nil
}
```
#### client code:
```go
func main(){
client := connx.NewClient("127.0.0.1:7069", onConnHandler)
go func(){
for{
err := client.Send(connx.RequestMessage("test client"))
if err != nil{
fmt.Println("Send login message failed", err)
}else{
fmt.Println("Send login message success")
}
time.Sleep(time.Second*10)
}
}()for{
select{}
}
}func onConnHandler(conn *connx.Connection) error{
msg, err := conn.ParseMessage()
fmt.Println(msg, err)
return nil
}
```