服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

关于java socket的问题


要做成这样的:

客户端访问服务器ip和port,服务器马上发送welcome消息,然后客户端根据welcome消息判断是否是想要连接的服务器和端口,

如果是则开始发送数据,数据包括开始和结束的校验。服务器端发送welcome消息后开始接收数据,直到结束。蛮简单的事tmd我怎么就搞不定。

client:

package com.ces.mytest.socket;

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

public class clientthread extends thread {    private string ipstr = "";    private int port;    public clientthread(string ipstr, int port) {        this.ipstr = ipstr;        this.port = port;    }

    public void run() {        try {            socket client = new socket(ipstr, port);            bufferedreader read = new bufferedreader(new inputstreamreader(client.getinputstream()));            bufferedwriter write = new bufferedwriter(new outputstreamwriter(client.getoutputstream()));

            if ("欢迎".equals(read.readline())) {                system.out.println("校验正确");

                write.write("开始");                write.newline();                write.write("数据");                write.newline();                write.write("结束");                write.newline();                write.flush();

                system.out.println("发送完毕");            }

            write.close();            read.close();            client.close();        } catch (unknownhostexception ex) {            ex.printstacktrace();        } catch (ioexception ex) {            ex.printstacktrace();        }    }

    public static void main(string[] args) {        thread client = new clientthread("127.0.0.1",10020);        client.start();    }

}

server:

package com.ces.mytest.socket;

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

public class serverthread extends thread {    private int port;    public serverthread(int port) {        this.port = port;    }

    private boolean stop = false;

    public void run() {        try {            serversocket server = new serversocket(port);            while (!stop) {                socket client = server.accept();                bufferedreader read = new bufferedreader(new inputstreamreader(client.getinputstream()));                bufferedwriter write = new bufferedwriter(new outputstreamwriter(client.getoutputstream()));                                system.out.println("发送欢迎信息");                                write.write("欢迎");                write.flush();

//                string linestr = read.readline();//                if ("开始".equals(linestr)) {//                    system.out.println("开始接受数据!");////                    while (true) {//                        linestr = read.readline();//                        if ("结束".equals(linestr)) {//                            break;//                        } else {//                            system.out.println("数据是" + linestr);//                        }//                    }//                }

                write.close();                read.close();                client.close();            }

        } catch (ioexception ex) {            ex.printstacktrace();        }    }

    public static void main(string[] args) {        thread server = new serverthread(10020);        server.start();    }

    public boolean isstop() {        return stop;    }

    pu

扫描关注微信公众号