This commit is contained in:
aozhiwei 2024-04-05 14:19:33 +08:00
parent 64606f42da
commit 4059a1c207
3 changed files with 85 additions and 1 deletions

View File

@ -2,7 +2,6 @@ syntax = "proto2";
package ss;
option go_package = ".;ss";
//id定义
enum SSMessageId_e
{
@ -11,4 +10,8 @@ enum SSMessageId_e
_SS_WSP_SocketDisconnect = 10;
_SS_ForceCloseSocket = 13;
_SS_HttpTunnelRequest = 16;
_SS_HttpTunnelResponse = 17;
_SS_BindUpStreamSocket = 20;
}

View File

@ -19,3 +19,24 @@ message SS_WSP_SocketDisconnect
message SS_ForceCloseSocket
{
}
message SS_HttpTunnelRequest
{
optional int64 context_id = 1;
optional int32 socket_handle = 2;
optional string url = 3;
optional string query_str = 4;
}
message SS_HttpTunnelResponse
{
optional int32 error_code = 1;
optional string error_msg = 2;
optional int64 context_id = 3;
optional int32 socket_handle = 4;
optional string response = 5;
}
message SS_BindUpStreamSocket
{
}

View File

@ -39,6 +39,9 @@ type MsgHandler interface {
SS_Pong(*f5.MsgHdr, *SS_Pong)
SS_WSP_SocketDisconnect(*f5.MsgHdr, *SS_WSP_SocketDisconnect)
SS_ForceCloseSocket(*f5.MsgHdr, *SS_ForceCloseSocket)
SS_HttpTunnelRequest(*f5.MsgHdr, *SS_HttpTunnelRequest)
SS_HttpTunnelResponse(*f5.MsgHdr, *SS_HttpTunnelResponse)
SS_BindUpStreamSocket(*f5.MsgHdr, *SS_BindUpStreamSocket)
}
func (this *MsgHandlerImpl) SS_Ping(hdr *f5.MsgHdr, msg *SS_Ping) {
@ -53,6 +56,15 @@ func (this *MsgHandlerImpl) SS_WSP_SocketDisconnect(hdr *f5.MsgHdr, msg *SS_WSP_
func (this *MsgHandlerImpl) SS_ForceCloseSocket(hdr *f5.MsgHdr, msg *SS_ForceCloseSocket) {
}
func (this *MsgHandlerImpl) SS_HttpTunnelRequest(hdr *f5.MsgHdr, msg *SS_HttpTunnelRequest) {
}
func (this *MsgHandlerImpl) SS_HttpTunnelResponse(hdr *f5.MsgHdr, msg *SS_HttpTunnelResponse) {
}
func (this *MsgHandlerImpl) SS_BindUpStreamSocket(hdr *f5.MsgHdr, msg *SS_BindUpStreamSocket) {
}
func (this *SS_Ping) GetNetMsgId() uint16 {
return uint16(SSMessageIdE__SS_Ping)
}
@ -69,6 +81,18 @@ func (this *SS_ForceCloseSocket) GetNetMsgId() uint16 {
return uint16(SSMessageIdE__SS_ForceCloseSocket)
}
func (this *SS_HttpTunnelRequest) GetNetMsgId() uint16 {
return uint16(SSMessageIdE__SS_HttpTunnelRequest)
}
func (this *SS_HttpTunnelResponse) GetNetMsgId() uint16 {
return uint16(SSMessageIdE__SS_HttpTunnelResponse)
}
func (this *SS_BindUpStreamSocket) GetNetMsgId() uint16 {
return uint16(SSMessageIdE__SS_BindUpStreamSocket)
}
func init() {
handlers[int(SSMessageIdE__SS_Ping)] = &SsNetMsgHandler{
@ -119,4 +143,40 @@ func init() {
},
}
handlers[int(SSMessageIdE__SS_HttpTunnelRequest)] = &SsNetMsgHandler{
MsgId: int(SSMessageIdE__SS_HttpTunnelRequest),
ParseCb: func (data []byte) interface{} {
msg := &SS_HttpTunnelRequest{}
proto.Unmarshal(data, msg)
return msg
},
Cb: func (hdr *f5.MsgHdr, handler MsgHandler) {
handler.SS_HttpTunnelRequest(hdr, hdr.Msg.(*SS_HttpTunnelRequest))
},
}
handlers[int(SSMessageIdE__SS_HttpTunnelResponse)] = &SsNetMsgHandler{
MsgId: int(SSMessageIdE__SS_HttpTunnelResponse),
ParseCb: func (data []byte) interface{} {
msg := &SS_HttpTunnelResponse{}
proto.Unmarshal(data, msg)
return msg
},
Cb: func (hdr *f5.MsgHdr, handler MsgHandler) {
handler.SS_HttpTunnelResponse(hdr, hdr.Msg.(*SS_HttpTunnelResponse))
},
}
handlers[int(SSMessageIdE__SS_BindUpStreamSocket)] = &SsNetMsgHandler{
MsgId: int(SSMessageIdE__SS_BindUpStreamSocket),
ParseCb: func (data []byte) interface{} {
msg := &SS_BindUpStreamSocket{}
proto.Unmarshal(data, msg)
return msg
},
Cb: func (hdr *f5.MsgHdr, handler MsgHandler) {
handler.SS_BindUpStreamSocket(hdr, hdr.Msg.(*SS_BindUpStreamSocket))
},
}
}