服务器程序:
import java.io.*;
import java.net.*;
public class server
{
public static void main(String args[])
{
try
{
ServerSocket ss=new ServerSocket(2000);
Socket s=ss.accept();
BufferedReader br=new BufferedReader(new InputStreamReader(s.getInputStream()));
String str;
while((str=br.readLine())!=null)
{
System.out.println(str);
}
}
catch(Exception e)
{
System.out.println(e);
}
}
}客户程序:
import java.net.*;
import java.io.*;
public class client
{
public static void main(String args[])
{
try
{
Socket s=new Socket("127.0.0.1",2000);
String str;
BufferedWriter br=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
br.write("\nHello World\n");
}
catch(Exception e)
{
System.out.println(e);
}
}
}我所面临的问题是:
如果我做错了什么,请解释一下。问题可能是在服务器读取时,客户端没有写任何东西。
发布于 2013-11-06 08:26:49
在客户端程序br.close();中写入流后关闭流
写入流后,必须关闭流或刷新流(br.flush()),因为当流关闭时,只能读取该流。I/O操作不能同时在同一流上执行。
两个套接字由相同的流连接,因此不能在该流上同时执行I/O操作。
https://stackoverflow.com/questions/19807028
复制相似问题