Java套接字TCP发送和接收

时间:2015-08-19 14:40:23

标签: java sockets tcp send recv

我尝试了很多例子,没有一个像我期望的那样工作。我需要什么?

  1. 通过IP和端口发送数据包。
  2. 等到服务器响应并关闭套接字。
  3. 示例:

    [Client] Send: "Hi server"
    [Client] Wait
    [Server] Send: "Hi client"
    [Client] Receive response
    [Client] Close socket
    

    我只需要TCP客户端,服务器端就解决了。

    尝试: http://www.careerbless.com/samplecodes/java/beginners/socket/SocketBasic1.php

    我的代码

    public class SendPacket {
    
        public void send() throws Exception{
    
            Socket socket = null;
            ObjectOutputStream oos = null;
            ObjectInputStream ois = null;
    
            socket = new Socket(ip, port);
            oos = new ObjectOutputStream(socket.getOutputStream());
    
            String msg = "DSPSYSSTS";
            oos.write(msg.getBytes());
            oos.flush();
    
            //read the server response message
            ois = new ObjectInputStream(socket.getInputStream());
            String message = (String) ois.readObject();
    
            RunWinCmd runCmd = new RunWinCmd();
            runCmd.run("notepad.exe \"" + message + "\"");
            //close resources
            ois.close();
            oos.close();
    
        }
    }
    

1 个答案:

答案 0 :(得分:1)

您必须按特定顺序初始化流。

试试这个(未经测试):

scheduledTimer
相关问题