首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >基本的服务器和客户端交互- Java

基本的服务器和客户端交互- Java
EN

Stack Overflow用户
提问于 2018-09-29 06:31:52
回答 1查看 34关注 0票数 0

日安,

下面的代码运行,但服务器仅在我终止它之后写入字符串,或者客户端仅在我终止正在运行的服务器后接收我发送的字符串。应该发生的情况是,在连接时,客户端向服务器发送hello消息,服务器读取该消息并将其输出到控制台,然后服务器将消息写回客户端,然后客户端读取消息并将其输出到控制台,然后立即断开连接。

代码语言:javascript
运行
复制
    public class Server 
    {
    public static void main(String[] args) 
    {
    ServerSocket ss;
    try {
    ss=new ServerSocket(2018);
    Socket s=ss.accept();
    System.out.println("connected...");
    Handler h =new Handler(s);
    Thread t=new Thread(h);
    t.start();
    }catch(IOException ex)
    {
    ex.printStackTrace();
    }

//client handler.

    public Handler(Socket s) 
        {
            cs=s;
        }

        @Override
        public void run() 
        {

            try 
            {
            pw=new PrintWriter(cs.getOutputStream());
            sc=new Scanner(cs.getInputStream());
            pw.write("SERVER SAYS:Hello");
            pw.flush();
            System.out.println(sc.nextLine());

            }catch(IOException e)
            {
                e.printStackTrace();
            }
        //then the client.

         public class Client {
        public static void main(String[] args) 
        {
            Socket s;
            PrintWriter pw;
            Scanner sc;

            try {
            s=new Socket("localhost",2018);
            pw=new PrintWriter(s.getOutputStream());
            sc=new Scanner(s.getInputStream());
            pw.write("HELLO");
            pw.flush();
            String msg=sc.nextLine();
            System.out.println(msg);
            }catch(IOException e)
            {
            e.printStackTrace();
            }
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52563391

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档