gpt4 book ai didi

tcp - HTTP 原始请求默认抛出响应消息 :java.net.SocketTimeoutException:从套接字读取时超时

转载 作者:行者123 更新时间:2023-12-04 17:12:14 24 4
gpt4 key购买 nike

我发送了一个默认带有主机和端口的 HTTP 原始请求,我确定我可以使用我的 Windows 10 设备进行连接。(使用 Test-NetConnection 进行测试并通过 Ubuntu 应用程序发送数据,回显“DEMO 消息”| nc我的主机 6021)但是,当我在 Jmeter 中发送请求时,出现以下错误。

采样器结果如下。

Thread Name:Thread Group 1-1
Sample Start:2021-09-17 15:55:08 IST
Load time:9300
Connect Time:0
Latency:0
Size in bytes:921
Sent bytes:0
Headers size in bytes:0
Body size in bytes:921
Sample Count:1
Error Count:1
Data type ("text"|"bin"|""):text
Response code:500
Response message:java.net.SocketTimeoutException: Timeout exceeded while reading from socket


SampleResult fields:
ContentType:
DataEncoding: null

响应如下。

java.net.SocketTimeoutException: Timeout exceeded while reading from socket
java.net.SocketTimeoutException: Timeout exceeded while reading from socket
at kg.apc.io.SocketChannelWithTimeouts.read(SocketChannelWithTimeouts.java:133)
at kg.apc.jmeter.samplers.HTTPRawSampler.readResponse(HTTPRawSampler.java:64)
at kg.apc.jmeter.samplers.HTTPRawSampler.processIO(HTTPRawSampler.java:163)
at kg.apc.jmeter.samplers.AbstractIPSampler.sample(AbstractIPSampler.java:112)
at kg.apc.jmeter.samplers.HTTPRawSampler.sample(HTTPRawSampler.java:42)
at org.apache.jmeter.threads.JMeterThread.doSampling(JMeterThread.java:630)
at org.apache.jmeter.threads.JMeterThread.executeSamplePackage(JMeterThread.java:558)
at org.apache.jmeter.threads.JMeterThread.processSampler(JMeterThread.java:489)
at org.apache.jmeter.threads.JMeterThread.run(JMeterThread.java:256)
at java.base/java.lang.Thread.run(Thread.java:830)

这个演示主机和端口虽然可以正常工作,但我在实际请求中也使用了完全相同的内容。 enter image description here

当我将 JSR223 采样器与以下代码一起使用时,会出现类似的问题。

def client = new Socket('DemoHostname', 9000);
client.setSoTimeout(2000);
client << "Hello ";
client.withStreams { input, output ->
def reader = input.newReader()
def response = reader.readLine()
log.info('Response = ' + response)
}
client.close()

还有Jmter的TCP Sampler。

所以根据建议,我将其作为Http请求发送到Logstash的websocket。好事是添加记录得到添加,但 Jmter http 请求处于无休止状态。似乎因为 logstash 通过 TCP 进行通信,所以它无法提供 http 响应。

enter image description here

最佳答案

你想通过发送 HELLO TESTecho.websocket.org 来达到什么目的?

如果你想发送一个HTTP Request there ,您需要执行以下操作:

GET / HTTP/1.1
Host: echo.websocket.org
Connection: close

演示:

enter image description here

如果你需要负载测试 WebSocket服务器 - 你使用了错误的插件,你应该使用 JMeter WebSocket Samplers相反,并考虑使用更多“事件”端点,因为此 echo.websocket.org 似乎不再有效。

关于tcp - HTTP 原始请求默认抛出响应消息 :java.net.SocketTimeoutException:从套接字读取时超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69222003/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com