是否有可能让一个线程写入OutputStream
Java Socket
,而另一个InputStream
线程从套接字读取,而线程不必在套接字上同步?
这是一个代码
import java.io.*;
import java.net.*;
public class Whois
{
public static void main(String[] args)
throws Exception
{
// TODO Auto-generated method stub
int c;
Socket s = new Socket("whois.internic.net",43);
*InputStream in = s.getInputStream();
*OutputStream out = s.getOutputStream();
String str = (args.length == 0 ? "osborne.com" : args[0] ) + "\n";
byte buf[] = str.getBytes();
*out.write(buf);
System.out.print("hey baby");
while ((c=in.read()) != -1)
{
System.out.print((char) c);
}
s.close();
}
}
Run Code Online (Sandbox Code Playgroud)
我有显着的,我有问题的理解.我不明白的OutputStream对象的语句out
时,它被分配将持有s.getOutputStream()
的,什么是合格的需要buf
来out
通过out.write(buf)
.
我已经学习了输入和输出Streams使用文件,但我不明白 …