如何使用套接字发送大量消息?

时间:2019-06-04 07:14:47

标签: java sockets

我正在设置一台服务器,该服务器应至少处理10000TPS,并通过用户套接字与客户端进行通信。

我尝试创建一个客户端,该客户端发送大约1000条短消息,但它发送大约100-200条消息,并且连接断开,我猜这是管道问题,因为客户端也收到了响应每条消息。

public class Client
{ 
    public static void main(String[] args)
    {

            int n=1000;
            String ip = "192.0.0.1";
            Socket s=new Socket(ip,1111);  
            DataOutputStream dout=new DataOutputStream(s.getOutputStream());  
            while(--n >= 0){
                dout.write("DEMODEMO\r\n".getBytes());  
                dout.flush();  
            }
            dout.close();  
            s.close();
  }
}

我应该能够每秒发送大约10000条消息,并且仍然收到对每条消息的回复。

1 个答案:

答案 0 :(得分:0)

您可以阅读Oracle中的精美指南。样例代码也运行良好。

在旁注中,您还可以尝试限制发送的消息,并观察连接是否断开。

  `while(--n >= 0){
     try {
       Thread.sleep(10);
       dout.write("SMS_TPS\r\n".getBytes());  
       dout.flush();  
     } catch (InterruptedException e) {
       e.printStackTrace();
     }                             
   }`