永发信息网

Java Socket浏览器输出问题

答案:2  悬赏:70  手机版
解决时间 2021-03-20 10:58
import java.io.*;
import java.net.*;
public class Main {

public static void main(String[] args) throws Exception{
ServerSocket service = new ServerSocket(18880);
Socket sock = service.accept();
OutputStream out = sock.getOutputStream();
BufferedReader br = new BufferedReader(new FileReader("G:\\Java\\MyEclipse\\Test\\src\\Test.html"));
String line = null;
while((line = br.readLine()) != null){
//Console输出
System.out.println(line);
//浏览器输出
out.write(line.getBytes());
}
out.close();
br.close();
sock.close();
service.close();
}
}

Test.html文件中随便输入两行

然后再浏览器中运行,但是没有输出内容,而网上看的视频是能输出内容的,这是怎么回事?

我是看一个视频的,他浏览器里输入http://(本机地址):18880 之后会显示Test.html中的内容
我在程序最后一行写一个System.out.println("finish");之后程序启动后,会一次在Console中输出Test.html文档中的内容,最后输出一个finish,这说明程序完全运行了吧。但是out.write(line.getBytes());在视频里是浏览器输出的,我浏览器没输出。
最佳答案
这应该是一个服务器端socket,必须提供客户端与之通信才可以。服务器端socket启动后,进程会阻塞到service.accept();这里来等待客户端请求。看代码应该是服务器端socket在收到客户端的请求后,把从文件流里读取的数据响应给客户端,就结束了。至于你说能在浏览器中运行,我不太明白。
全部回答
假如100个线程发送100个socket请求,同样socketserver也是来一个请求就开启一个线程 问题1:单独的线程,io流对象不也是分开的吗? 那就说明是100个不同的流,如果按你这么设计的话 问题2:按照我们现在的服务器端来说,没个客户端在请求服务器的时候 都会产生一个唯一的sessionid,以区别不同的客户端。 另外:用java来开发不现实。效率就不说,同时也不能在每台机子都装jre吧?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
父爱无声 阅读答案 悬赏
5吨60千克等于几吨
稀的醋酸溶液有什么危害
蓝色空间如意府-停车场这个地址在什么地方,
菜鸟驿站(明珠花园店)地址好找么,我有些事要
25平方铜线的最大负载能带多少?
长春龙嘉国际机场换登机牌在几楼
娱乐休闲到极乐汤泡澡
农村6O岁以上老人养老金是否涨
自考过程中的自考课程顶替和免考有什么区别
如何让银行开具非主观恶意拖欠证明?是不是都
六天前有一个疑似本地交通违章,12123现在查不
鸽子冬天配对激情不高应该吃些什么
一个像三角架还有音符猜一个成语是什么
为什么今天看到的月亮有点发红?
推荐资讯
监控录像怎么截取片段
英雄联盟打排位赛 怎样才可以一直赢
男生的手长得特别像女生手,这样是好还是不好
小星星韩语怎么写
在吗,我想要问您,博士老爸真的可以让成绩提
在鞍山站前什么地方可以乘坐到103路车
电脑风扇风力不大怎么办?
实值期权、虚值期权和平价期权都具有哪些特征
我25岁,患过敏性支气管炎已经5年了
推荐一些好看得小说,像诛仙,我欲封天,寻妖
钝化什么意思
形容童真的词语
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?