在android上先建立一个serversocket,然后bind,accept,并做receive的准备
同时利用另外一个程序建立socket,与上述的serversocket进行connect,然后发送信息。
问题出现在这:如果下面的socket不关闭(不调用socket.close())上面的serversocket就收不到信息,为什么会出现这种情况?serversocket想要收到信息一定要把连接的socket关上才行么?如果是,那又怎么进行长时间的通讯过程,频繁的connect和close势必会影响效率的吧?

解决方案 »

  1.   

    问题解决。。我在接受数据的时候用的是bufferedReader.readline();而传输的时候没有手动加入换行符,所以出现了传过去显示没有接受的现象。其实应该是已经接受,只是readline没有读到换行不会返回,socket.close调用后,接受端的流被关闭,促使readline返回,从而出现了问题所描述的现象。这都是小问题,但是这小小问题确实能造成大麻烦。
    主要原因还是java用的不够熟练,没有用心的学习,没有努力的实践去寻找解决办法。
    学程序谨记:切不可浮躁
      

  2.   


    貌似udp是无连接的网络协议