利用JAVA的ServerSocket和Socket编写客户、服务器程序 5

要求:1.创建EchoServer(回声服务器,即收到客户信息后将此信息不改变返回给客户)2.服务器端口80003.输入流输出流使用DataInputStream和Dat... 要求:1.创建EchoServer(回声服务器,即收到客户信息后将此信息不改变返回给客户)
2.服务器端口8000
3.输入流输出流使用DataInputStream和DataOutputStream
4.服务器的祝方法service()
5.客户的主方法talk()
6.当客户说”bye“ ,中断与服务器连接
展开
 我来答
小童鞋_成er
推荐于2017-10-06 · 知道合伙人数码行家
小童鞋_成er
知道合伙人数码行家
采纳数:4650 获赞数:22879
主要从事J2EE工作,热爱Java,用心讨论技术,共同进步。

向TA提问 私信TA
展开全部
//ServerSocket
import java.io.*;
import java.net.*;
public class TcpServer {
    public static void main(String[] args) throws Exception{
        ServerSocket server = new ServerSocket(10003);
        Socket client = server.accept();
        InputStream is = client.getInputStream();
        OutputStream os = client.getOutputStream();
        byte[] by = new byte[1024];
        int len = 0;
        String msg = null;
        while((len=is.read(by))!=-1){
            msg = new String(by,0,len);
            System.out.println("来自"+client.getInetAddress().getHostAddress()+"客户端的消息:"+msg);
            if("886".equals(msg))
                break;
            os.write(getPrint(msg));
        }
        client.close();
    }
    private static byte[] getPrint(String msg){
        return msg.getBytes();
    }
}
//Socket
import java.io.*;
import java.net.*;
public class TcpClient {
    public static void main(String[] args) throws Exception{
        Socket sk = new Socket("localhost",10003);
        OutputStream os = sk.getOutputStream();
        InputStream is = sk.getInputStream();
        os.write(getPrint());
        byte[] by = new byte[1024];
        int len = 0;
        while((len=is.read(by))!=-1){
            System.out.println("来自"+sk.getInetAddress().getHostAddress()+"服务器的消息:"+new String(by,0,len));
            os.write(getPrint());
        }
        sk.close();
    }
    private static byte[] getPrint()throws Exception{
        BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
        String msg = in.readLine();
        return msg.getBytes();
    }
}

//一下是输出结果:

来自127.0.0.1客户端的消息:Hello
来自127.0.0.1客户端的消息:eee
来自127.0.0.1客户端的消息:886

//客户端:

Hello
来自127.0.0.1服务器的消息:Hello
eee
来自127.0.0.1服务器的消息:eee
886


提示:如果提问者想使用DataInputStream可以自行替换掉即可。

百度网友81b6900
2014-07-02 · 超过12用户采纳过TA的回答
知道答主
回答量:48
采纳率:0%
帮助的人:30.2万
展开全部

这个是个例子,你参考一下吧

追问
= = 能帮忙编写吗 我看不懂啊 我是帮别人考试场外支援
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式