3.6学习内容,androidwifiP2p,golang http.ListenAndServe运行机制,

前端之家收集整理的这篇文章主要介绍了3.6学习内容,androidwifiP2p,golang http.ListenAndServe运行机制,前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

android p2p两篇文章

http://blog.csdn.net/gophers/article/details/38060307

http://blog.csdn.net/max2005/article/details/12237905

官方文档:http://developer.android.com/training/connect-devices-wirelessly/wifi-direct.html


golang,

http://blog.csdn.net/gophers/article/details/37815009


  1. func(srv*Server)Serve(lnet.Listener)error{
  2. deferl.Close()
  3. vartempDelaytime.Duration
  4. //这个循环就是服务器的主循环了,通过传进来的listener接收来自客户端的请求并建立连接,
  5. //然后为每一个连接创建routine执行c.serve(),这个c.serve就是具体的服务处理了
  6. for{
  7. rw,e:=l.Accept()
  8. ife!=nil{
  9. ifne,ok:=e.(net.Error);ok&&ne.Temporary(){
  10. iftempDelay==0{
  11. tempDelay=5*time.Millisecond
  12. }else{
  13. tempDelay*=2
  14. }
  15. ifmax:=1*time.Second;tempDelay>max{
  16. tempDelay=max
  17. }
  18. srv.logf("http:Accepterror:%v;retryingin%v",e,tempDelay)
  19. time.Sleep(tempDelay)
  20. continue
  21. returne
  22. tempDelay=0
  23. c,err:=srv.newConn(rw)
  24. iferr!=nil{
  25. continue
  26. c.setState(c.rwc,StateNew)//beforeServecanreturn
  27. goc.serve()//<-这里为每一个建立的连接创建routine之后进行服务
  28. }
第30行表示用线程处理网络回来的数据,所以go一般都有很多线程 原文链接:https://www.f2er.com/go/190536.html

猜你在找的Go相关文章