先来一段代码:public void connecttoserver(String socketData) throws UnknownHostException, IOException
{
    Socket socket=RequestSocket("192.168.0.107",5000);
   SendMsg(socket,socketData);  
   String txt = ReceiveMsg(socket);
   this.chattxt2.setText(txt);    
}    
private Socket RequestSocket(String host,int port) throws UnknownHostException, IOException
{   
    Socket socket = new Socket(host, port);
    return socket;
 }RequestSocket这个函数是干嘛的,奶奶的嫌代码短吗?

解决方案 »

  1.   

    还有两个函数如下:private void SendMsg(Socket socket,String msg) throws IOException
    {
        BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
       writer.write(msg.replace("\n", " ")+"\n");
       writer.flush();
    }
        
    private String ReceiveMsg(Socket socket) throws IOException
    {
        BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
        
       String txt=reader.readLine();
       return txt; }    
    我直接整成如下代码:Socket socket=new Socket("192.168.0.107",5000);
    SendMsg(socket,socketData);  
    this.chattxt2.setText(new BufferedReader(new InputStreamReader(socket.getInputStream())).readline()); 
      

  2.   

    SendMsg也可以去掉Socket socket=new Socket("192.168.0.107",5000);
    BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
    writer.write(socketData.replace("\n", " ")+"\n");
    writer.flush();
    this.chattxt2.setText(new BufferedReader(new InputStreamReader(socket.getInputStream())).readline()); 
      

  3.   


    真像网上说的搞C的看不起搞C++的,搞C++的看不起搞Java的,搞Java的看不起搞.Net的,搞.Net的看不起搞JS的,搞JS的看不起搞HTML的,搞HTML的看不起搞美工的。
    最后搞美工的周末去泡MM的时候,一群傻X在那里加班。
      

  4.   

    个人风格不同,或许多写一个函数有利于扩充、调试、多次调用。
    就像搞C++的,有的人连最常见的数据类型都喜欢定义一个新的,例如 #define MYBOOL BOOL,然后代码里会充斥着 MYBOOL 的使用,在很多情况下,这是一个良好的习惯,例如开发一个跨平台应用,但有些人会认为这是多此一举。
      

  5.   

    MYBOOL其实是需要的, 不过, 就算不定义也没关系.
    本为WINDOWS下, 就已经定义了一堆宏, 跨平台也只有LINUX, UNIX这类, 把WINDOWS的类型在这两个平台DEFINE一下也不见得有什么问题的难度.只有API才需要用宏或者使用自己写的函数或者类, 普通的类型, 定义不定义..也只在于阅读上.
      

  6.   


    楼主转的这段的代码的作者的修养也不行RequestSocket,这命名规范就不对。
      

  7.   

    我喜欢用宏.. 把os native api 封装成linux和win32通用的api... 比如GetTickCount 这样我的代码就跨平台了.. hoho.
      

  8.   

    Socket socket=RequestSocket("192.168.0.107",5000);这代码一出,前半截像是C#,后半截像是Python。
      

  9.   


    做了十年C++,整天扯着跨平台.到今天从来都没有碰到过要跨的平台.
    也许等换了平台.我会重写某些代码,以实现在另一个平台下的功能.
    自己写的代码,能在一个平台下运行的可靠就OK可.跨平台对我这种普通程序员,也许只是个传说.
    做好自己平台下的事情才是正道.
      

  10.   

    难道下面那段就不是JAVA了吗?