@@ -21,18 +21,10 @@ func HandleStream(stream net.Conn, tokenStr string) {
2121 log .Printf (err .Error ())
2222 return
2323 }
24- defer func () {
25- if stream != nil {
26- err = stream .Close ()
27- return
28- }
29- if err != nil {
30- log .Println (err .Error ())
31- }
32- }()
3324 rawMsg , err := msg .ReadMsg (stream )
3425 if err != nil {
3526 log .Printf (err .Error () + "从stream读取数据错误" )
27+ stream .Close ()
3628 return
3729 }
3830 //log.Printf("begin Swc")
@@ -145,6 +137,8 @@ func HandleStream(stream net.Conn, tokenStr string) {
145137 if err != nil {
146138 log .Println (err .Error ())
147139 }
140+ //TODO 防止未关闭的连接,取决于请求方是否关闭
141+ //stream.Close()
148142 }
149143
150144 case * models.ReqNewP2PCtrlAsServer :
@@ -153,6 +147,9 @@ func HandleStream(stream net.Conn, tokenStr string) {
153147 go func () {
154148 session , listener , err := gateway .MakeP2PSessionAsServer (stream , m , tokenModel )
155149 if err != nil {
150+ if listener != nil {
151+ listener .Close ()
152+ }
156153 log .Println ("gateway.MakeP2PSessionAsServer:" , err )
157154 return
158155 }
@@ -169,6 +166,9 @@ func HandleStream(stream net.Conn, tokenStr string) {
169166 go func () {
170167 session , listener , err := gateway .MakeP2PSessionAsClient (stream , m , tokenModel )
171168 if err != nil {
169+ if listener != nil {
170+ listener .Close ()
171+ }
172172 log .Println ("gateway.MakeP2PSessionAsClient:" , err )
173173 return
174174 }
@@ -203,33 +203,36 @@ func HandleStream(stream net.Conn, tokenStr string) {
203203 log .Println (err .Error ())
204204 }
205205 }
206+ //TODO 是否关闭
206207 stream .Close ()
207208 }
208209 //由于用户在服务器账户删掉了这个网关,所有网关删掉服务器登录以供新用户绑定
209210 case * models.DeleteGatewayJwt :
210- //{
211- // log.Println("删除配置:", tokenModel.RunId)
212- // GatewayManager.DelServer(tokenModel.RunId)
213- // delete(ConfigMode.LoginWithTokenMap, tokenModel.RunId)
214- // err = WriteConfigFile(ConfigMode, ConfigFilePath)
215- // if err != nil {
216- // log.Println(err)
217- // err = msg.WriteMsg(stream, &models.Error{
218- // Code: 1,
219- // Message: err.Error(),
220- // })
221- // if err != nil {
222- // log.Println(err.Error())
223- // }
224- // return
225- // }
226- // err = msg.WriteMsg(stream, &models.OK{})
227- // if err != nil {
228- // log.Println(err.Error())
229- // }
230- //}
211+ {
212+ // log.Println("删除配置:", tokenModel.RunId)
213+ // GatewayManager.DelServer(tokenModel.RunId)
214+ // delete(ConfigMode.LoginWithTokenMap, tokenModel.RunId)
215+ // err = WriteConfigFile(ConfigMode, ConfigFilePath)
216+ // if err != nil {
217+ // log.Println(err)
218+ // err = msg.WriteMsg(stream, &models.Error{
219+ // Code: 1,
220+ // Message: err.Error(),
221+ // })
222+ // if err != nil {
223+ // log.Println(err.Error())
224+ // }
225+ // return
226+ // }
227+ // err = msg.WriteMsg(stream, &models.OK{})
228+ // if err != nil {
229+ // log.Println(err.Error())
230+ // }
231+ stream .Close ()
232+ }
231233 default :
232234 log .Printf ("type err" )
235+ stream .Close ()
233236 }
234237}
235238
0 commit comments