我编写了一个PHP脚本,它向搜索引擎发出请求,访问服务结果,从结果中提取一些细节,然后以更有用的形式打印它们.
这一切都运行良好,但我偶然发现的一点是,在等待数据流入时调用echo或print会导致输出也被流式传输.具体来说,有多页结果,所以我访问第一页,读入并重新打印内容,然后转到下一页,在等待下一页加载时,上一页的内容变为可见浏览器.
我不明白为什么这种情况发生得如此不一致.有时在移动到下一页之前将打印一页,有时更少,有时更多.然后,当我之后基本上做同样的事情(在每个结果指向的页面中读取)时,输出几乎不流动,每分钟左右重绘一次.
我正在使用file_get_contents($url)检索内容,并使用其中的函数echo来打印到目前为止已加载的内容.这种流式打印行为是否是浏览器的一项功能,与我在PHP中编写的内容无关?如果没有,怎样才能更好地控制?
我找不到在golang中创建一片缓冲通道的方法.我知道如何创建如下所示的无缓冲通道片
type ch chan int
channels := make([]ch,5)
Run Code Online (Sandbox Code Playgroud) 在一个CCL REPL中,我输入:
(WITH-OPEN-SOCKET (socket :LOCAL-PORT 6667
:LOCAL-HOST "localhost"
:CONNECT :PASSIVE
:REUSE-ADDRESS t)
(let ((stream (ACCEPT-CONNECTION socket :wait t)))
(format stream "hello from server.~%")))
Run Code Online (Sandbox Code Playgroud)
它等待连接.
在另一个CCL流程中,我输入:
(WITH-OPEN-SOCKET (socket-stream :REMOTE-PORT 6667
:REMOTE-HOST "localhost"
:CONNECT :ACTIVE
:REUSE-ADDRESS t)
(format t (READ-LINE socket-stream)))
Run Code Online (Sandbox Code Playgroud)
此时此过程进入等待状态.它既不从服务器读取也不退出.
但是,当客户端连接到服务器时,服务器将以NIL退出.很明显,至少建立了一个连接,但字符串"Hello from server".永远不会沟通.
我相信这是我忽略的基本内容.如何发送消息?READ-LINE不是从流中读取的正确方法吗?我从服务器上写错了吗?如何建立基于双向简单字符串的通信?
我正在用Java从零开始创建一个游戏引擎,我已经开始研究一个新的保存文件,而不是使用地图的imaages:
工作并打印出每一行:
while ((readString = buf.readLine()) != null) {
System.out.println("Failed to assign action to line: " + readString);
}
Run Code Online (Sandbox Code Playgroud)
不起作用,打印出前3行:
while ((readString = buf.readLine()) != null) {
if (readString.contains("Width:")){
readString.replace("Width:", "");
readString.trim();
Integer.parseInt(readString);
System.out.println(readString);
}else if (readString.contains("Height:")){
readString.replace("Height::", "");
readString.trim();
Integer.parseInt(readString);
System.out.println(readString);
}else{
System.out.println("Failed to assign action to line: " + readString);
}
}
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,最上面的一个正在工作并打印出每一行到控制台,第二个在读取第三行后停止.在研究问题时我没有找到任何东西,我的语法似乎是正确的.我的代码出了什么问题?
我正在使用BufferedWriter写入文件,当我输入此代码时
bfW.write("System.out.println("YOUR NEW PROGRAM IS COMPLETED");");
Run Code Online (Sandbox Code Playgroud)
它给了我这个错误:
File_writer.java:93: error: ';' expected
bfW.write("System.out.println("YOUR NEW PROGRAM IS COMPLETED");");
Run Code Online (Sandbox Code Playgroud)
我该如何解决?