2013-03-10 62 views
0

我正在开发基于java的网络程序,并且我设计了自己的网络协议。这是我平时做处理传入的消息:如何更有效地管理java中的网络协议

socket = ss.accept(); 
in = new BufferedReader(new InputStreamReader(socket.getInputStream())); 
String msg = null; 
while(true) 
if((msg=in.readLine())!=null){ 
//handle msg with designed protocol here 
    } 

这是确定要做到这一点时,该协议是很简单的,但是当它变得复杂,这是压倒性的把这里的一切,这也使得我的代码更难理解。我的问题是,有没有办法将协议代码存储在另一个地方?先谢谢你!

+1

你的循环是错误的反正。如果'readLine()'返回null,则必须关闭并跳出循环。摆脱'while(true)'并将'if'改为'while'。 – EJP 2013-03-10 22:58:18

回答

3

当然,为什么不呢?只需创建另一个课程并制作一个处理方法即可。发送msg它,然后在那里处理。或进行另一个方法与同一类:

public (static) void handle(String msg) { //Handle message }