public class Client
{
public static void main(String[] args)
{
Client c=new Client();
c.receiveMessage();
}
public void receiveMessage(){
Socket s=null;
BufferedReader sbr=null;
try
{
s=new Socket("127.0.0.1",9999);
OutputStream os=s.getOutputStream();
PrintWriter out=new PrintWriter(os,true);
BufferedReader br=new BufferedReader(new InputStreamReader(s.getInputStream()));
// IOUtils.write("receive", os);
// InputStream is=s.getInputStream();
sbr=new BufferedReader(new InputStreamReader(System.in));
String message;
while((message=sbr.readLine())!=null){
out.println(message);
String rs=br.readLine();
System.out.println("receive message is "+rs);
if(rs.equalsIgnoreCase("disconnect")){
System.out.println("discon");
break;
}
}
}
catch (IOException e)
{
e.printStackTrace();
}finally{
if(s!=null)
try
{
s.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
}
public class Server
{
public static void main(String[] args)
{
Server s=new Server();
s.startServer(9999);
}
public void startServer(int port){
ServerSocket ss = null;
Socket socket = null;
try
{
ss = new ServerSocket(9999);
while (true)
{
try
{
System.out.println("waiting...");
socket = ss.accept();
InputStream is = socket.getInputStream();
// String s = IOUtils.toString(is);
// System.out.println("s= " + s);
BufferedReader br = new BufferedReader(
new InputStreamReader(is));
PrintWriter out=new PrintWriter(socket.getOutputStream(),true);
String str=null;
while((str=br.readLine())!=null){
if(str.equalsIgnoreCase("quit")){
//关闭
out.println("disconnect");
break;
}
System.out.println("str="+str);
out.println("Receive:"+str);
}
}catch(IOException e){
e.printStackTrace();
}
finally
{
if (socket != null)
{
socket.close();
}
}
}
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
if (ss != null)
try
{
ss.close();
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
}
通过client,可以一直向Server发送信息,并得到返回信息。
输入quit,则和服务器之间断开连接。