html获取不到java服务端返回的数据

易加一 2019-09-26 10:50:28
package web;

import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class WebSer {

public static void main(String[] args) throws IOException {
// TODO 自动生成的方法存根

while (true) {
ServerSocket ss = new ServerSocket(9090);

Socket s = ss.accept();
System.out.println(s.getInetAddress().getHostAddress());
InputStream in = s.getInputStream();

byte[] buf = new byte[1024];
int len = in.read(buf);

System.out.println(new String(buf, 0, len));
PrintWriter out = new PrintWriter(s.getOutputStream(), true);
out.println("<font color='green' size='7'>zhuce</font>");

s.close();
ss.close();

}
}

}
...全文
319 16 打赏 收藏 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
易加一 2019-09-30
  • 打赏
  • 举报
回复
引用 15 楼 qq_39936465 的回复:
[quote=引用 14 楼 易加一 的回复:] [quote=引用 12 楼 qq_39936465 的回复:][quote=引用 10 楼 易加一 的回复:] 不不不。不是这个问题。我写的客户端访问它可以接受到服务端返回的数据。但用网页访问就收不到服务端返回的数据
那就不是你这段程序的问题,你要分析接受程序。[/quote]接受的就是用html写的一个表单提交网页[/quote] html用的是http协议,socket用的tcp协议,你应该没法直接取出数据,起码表头不同,需要转换。[/quote]使用什么方法转换
qq_39936465 2019-09-30
  • 打赏
  • 举报
回复
引用 14 楼 易加一 的回复:
[quote=引用 12 楼 qq_39936465 的回复:][quote=引用 10 楼 易加一 的回复:] 不不不。不是这个问题。我写的客户端访问它可以接受到服务端返回的数据。但用网页访问就收不到服务端返回的数据
那就不是你这段程序的问题,你要分析接受程序。[/quote]接受的就是用html写的一个表单提交网页[/quote] html用的是http协议,socket用的tcp协议,你应该没法直接取出数据,起码表头不同,需要转换。
易加一 2019-09-30
  • 打赏
  • 举报
回复
引用 12 楼 qq_39936465 的回复:
[quote=引用 10 楼 易加一 的回复:] 不不不。不是这个问题。我写的客户端访问它可以接受到服务端返回的数据。但用网页访问就收不到服务端返回的数据
那就不是你这段程序的问题,你要分析接受程序。[/quote]接受的就是用html写的一个表单提交网页
易加一 2019-09-30
  • 打赏
  • 举报
回复
引用 11 楼 qq_39936465 的回复:
[quote=引用 9 楼 易加一 的回复:] ture会自动刷的。
你可以试试用outputstream直接写给客户端方法 OutputStream out = socket.getOutputStream(); out.write(data); [/quote]好的 我等会试试。等下看结果
qq_39936465 2019-09-30
  • 打赏
  • 举报
回复
引用 10 楼 易加一 的回复:
不不不。不是这个问题。我写的客户端访问它可以接受到服务端返回的数据。但用网页访问就收不到服务端返回的数据
那就不是你这段程序的问题,你要分析接受程序。
qq_39936465 2019-09-30
  • 打赏
  • 举报
回复
引用 9 楼 易加一 的回复:
ture会自动刷的。
你可以试试用outputstream直接写给客户端方法 OutputStream out = socket.getOutputStream(); out.write(data);
易加一 2019-09-30
  • 打赏
  • 举报
回复
引用 7 楼 qq_39936465 的回复:
[quote=引用 6 楼 易加一 的回复:] 然后前端代码我之所以没发出来 因为我觉得就是服务端的问题 连接应该是通的。因为服务端能收到前端的请求信息
你服务器只是get outputstream,这是在接受客户端发送的信息 ,但是没有看到发送给客户端 ,服务器端发送信息同样需要 outputstream.write给客户端,不然客户端去哪里接受信息呢?你要相互之间通话,肯定input,output各一对。[/quote]不不不。不是这个问题。我写的客户端访问它可以接受到服务端返回的数据。但用网页访问就收不到服务端返回的数据
易加一 2019-09-30
  • 打赏
  • 举报
回复
引用 8 楼 qq_39936465 的回复:
[quote=引用 4 楼 易加一 的回复:] [quote=引用 2 楼 qq_39936465 的回复:][quote=引用 1 楼 易加一 的回复:] 有没有大神解答下呀。找了好久 都不知道原因
都没看到你向客户端发送的outputstream ,你不过直接在服务器端的屏幕上输出而已。[/quote]s.getoutputStream 不是获取到了吗 [/quote] 肯能是你没有flush,数据还在缓存中没有发送,你试试看在 out.println("<font color='green' size='7'>zhuce</font>"); 后面添加 out.flush();[/quote]ture会自动刷的。
qq_39936465 2019-09-30
  • 打赏
  • 举报
回复
引用 4 楼 易加一 的回复:
[quote=引用 2 楼 qq_39936465 的回复:][quote=引用 1 楼 易加一 的回复:] 有没有大神解答下呀。找了好久 都不知道原因
都没看到你向客户端发送的outputstream ,你不过直接在服务器端的屏幕上输出而已。[/quote]s.getoutputStream 不是获取到了吗 [/quote] 肯能是你没有flush,数据还在缓存中没有发送,你试试看在 out.println("<font color='green' size='7'>zhuce</font>"); 后面添加 out.flush();
qq_39936465 2019-09-29
  • 打赏
  • 举报
回复
引用 6 楼 易加一 的回复:
然后前端代码我之所以没发出来 因为我觉得就是服务端的问题 连接应该是通的。因为服务端能收到前端的请求信息
你服务器只是get outputstream,这是在接受客户端发送的信息 ,但是没有看到发送给客户端 ,服务器端发送信息同样需要 outputstream.write给客户端,不然客户端去哪里接受信息呢?你要相互之间通话,肯定input,output各一对。
weixin_41998852 2019-09-27
  • 打赏
  • 举报
回复
你这写的是一个tcp服务端,不是http服务端,用控制台可以得到结果啊
telnet localhost 9090
Trying ::1...
Connected to localhost.
Escape character is '^]'.
aa
<font color='green' size='7'>zhuce</font>
Connection closed by foreign host.
为什么要用html获取

qq_39936465 2019-09-27
  • 打赏
  • 举报
回复
引用 1 楼 易加一 的回复:
有没有大神解答下呀。找了好久 都不知道原因
都没看到你向客户端发送的outputstream ,你不过直接在服务器端的屏幕上输出而已。
易加一 2019-09-27
  • 打赏
  • 举报
回复
然后前端代码我之所以没发出来 因为我觉得就是服务端的问题 连接应该是通的。因为服务端能收到前端的请求信息
易加一 2019-09-27
  • 打赏
  • 举报
回复
引用 3 楼 weixin_41998852 的回复:
你这写的是一个tcp服务端,不是http服务端,用控制台可以得到结果啊
telnet localhost 9090
Trying ::1...
Connected to localhost.
Escape character is '^]'.
aa
<font color='green' size='7'>zhuce</font>
Connection closed by foreign host.
为什么要用html获取
因为我写了个网页 想访问这个服务端 然后服务端接受到请求 回返一个数据 就是一个字符串。 然后我服务器能获取到html的请求信息 并打印到了控制台。但是html网页没有收到返回的数据
易加一 2019-09-27
  • 打赏
  • 举报
回复
引用 2 楼 qq_39936465 的回复:
[quote=引用 1 楼 易加一 的回复:] 有没有大神解答下呀。找了好久 都不知道原因
都没看到你向客户端发送的outputstream ,你不过直接在服务器端的屏幕上输出而已。[/quote]s.getoutputStream 不是获取到了吗
易加一 2019-09-26
  • 打赏
  • 举报
回复
有没有大神解答下呀。找了好久 都不知道原因

62,620

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧