简单的客户端服务器程序不起作用 [英] Simple client server program not working

查看:52
本文介绍了简单的客户端服务器程序不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

服务器程序:

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);
                }
        }
}

我面临的问题是:

  1. 无输出.
  2. 未指明异常/错误.

如果我做错了什么,请向我解释.问题可能是客户端在服务器读取时没有写入任何内容.

Please explain me if am doing anything wrong. The problem might be the client has not written anything while the server is reading.

推荐答案

在客户端程序写入流后关闭流br.close();

Close the stream after writing to stream in client program br.close();

写入流后,必须关闭流或刷新流(br.flush()),因为当流关闭时,只能读取该流.不能同时在同一个流上执行 I/O 操作.

After Writing to stream it is compulsory to close the stream or flush the stream(br.flush()) because when stream is closed then only that stream can be read. I/O operations can not be performed on same stream simultaneously.

两个套接字通过同一个流连接,因此无法在该流上同时执行 I/O 操作.

Two sockets are connected by same stream so I/O operations can not be performed simultaneously on that stream.

这篇关于简单的客户端服务器程序不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆