我在做一个简单的网络通信,但是实现不了,不知道为什么

这是服务器端
import java.io.*;
import java.net.*;

public class MySever
{
public static void main (String args[])
{
try
{
ServerSocket server =new ServerSocket(5000);
Socket socket =server.accept();
BufferedReader in =new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter out = new PrintWriter(socket.getOutputStream());
BufferedReader sin =new BufferedReader(new InputStreamReader(System.in));
String str =in.readLine();
System.out.println(str);
if(str=="bye")
{
in.close();
out.close();
sin.close();
}
}
catch(Exception e)
{}
}

}
然后这是用户端:

import java.io.*;
import java.net.*;

public class MyClient
{
public static void main (String args[])
{
//InetAdddress ip;
//try
//{
// ip=InetAddress.getLocalHost();
//}
//catch(Exception e1)
//{}

    try
    {
        Socket socket=new Socket("59.46.65.104",5000);
        PrintWriter out = new PrintWriter(socket.getOutputStream());
        BufferedReader in = new BufferedReader(new InputStreamReader (socket.getInputStream()));
        BufferedReader sin = new BufferedReader(new InputStreamReader (System.in));
        String str;
        //String s="hello!";
        //out.println(s);
        //str=sin.readLine();
        str="HELLO!";
        out.println(str);
        out.flush();
        if(str=="bye")
        {
            in.close();
            out.close();
            sin.close();
        }
    }
    catch(Exception e2)
    {}

}

}

有人吗hahahahahaahahahahahahah

我有最简单的模板,你看一下吧
服务器端:

try{
ServerSocket ss = new ServerSocket(8800);//产生服务器对象
Socket socket = ss.accept();//接受客户端传递的socket对象
BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));//产生从客户端读取数据的字符输入流
String info = br.readLine();
System.out.println("这里是服务器,来自客户端的信息是:"+info);
socket.shutdownInput();
String answer = "你好,客户端,我收到了你的消息";
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
bw.write(answer);
bw.flush();
socket.close();

    }catch(Exception ex){
        ex.printStackTrace();
    }

    客户端:
    try{
        Socket socket = new Socket("localhost",8800);
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
        bw.write("你好,我是客户端,我现在向服务器发送请求");
        bw.flush();
        socket.shutdownOutput();
        BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
        String answer = br.readLine();
        System.out.println("服务器给客户端的响应是:"+answer);
        socket.close();
    }catch(Exception ex){
        ex.printStackTrace();
    }            

在服务器端,你的sin对象没有用到过,发现没有,那一块有问题,手机回复不方便