xiaoweidinghqg 2016-11-27 12:31 采纳率: 0%
浏览 952

java关于socket服务器与客户端交互

我的程序执行结果出现java.net.SocketException: Connection reset,初学者,求大神解决
服务器发送usr给客户端
客户端收到usr后发送linda给服务器,
服务器收到linda就回复welcome,否则回复wrong name
代码如下:

服务器:

  import java.net.*;
import java.io.*;
public class ServerRegister {
    public static void main(String args[])
    {
        try{
        ServerSocket Ss=new ServerSocket(1111);
        Socket s=Ss.accept();
        PrintStream out=new PrintStream(s.getOutputStream());
        BufferedReader in=new BufferedReader(new InputStreamReader(s.getInputStream()));

            while(true)
            {
                System.out.println("send to Client "+"user:");
                out.println("user");
                String x=in.readLine();
                System.out.println("get from client"+x);
                if(x.equals("linda"))
                {
                    System.out.println("send to Client"+"Login welcome!");
                    out.println("welcome!");
                }
                else
                    out.println("wrong name");
                out.close();
                in.close();
                s.close();
            }
        }catch(IOException e)
        {
            System.out.println(e.toString());
        }
    }

}

客户端:

 import java.io.*;
import java.net.*;
public class ClientRegister {
    public static void main(String args[])
    {
        try
        {
            Socket s=new Socket("127.0.0.1",1111);
            BufferedReader in=new BufferedReader(new InputStreamReader(s.getInputStream()));
            PrintStream out=new PrintStream(s.getOutputStream());
            String x=in.readLine();
            if(x.equals("user:"))
            {
                System.out.println("get from server:"+x);
                System.out.println("send to server"+"linda");
                out.println("linda");
                x=in.readLine();
                System.out.println("get from server"+x);
                if(x=="welcome!")
                {
                    System.out.println("register sussfully");

                }
                else if(x=="wrong name")
                    System.out.println("register unsussfully");
            }else{
                System.exit(0);}
            out.close();
            in.close();
            s.close();
        }catch(IOException e)
        {
            System.out.println(e.toString());
        }
}

    }

  • 写回答

3条回答 默认 最新

  • Yao_peach_boy 2016-11-27 14:04
    关注

    你是想发送什么 看不懂

    评论

报告相同问题?

悬赏问题

  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料
  • ¥15 使用R语言marginaleffects包进行边际效应图绘制
  • ¥20 usb设备兼容性问题
  • ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
  • ¥15 安装svn网络有问题怎么办