欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

java socket 监听示例,javasocket,java socket监

来源: javaer 分享于  点击 41493 次 点评:60

java socket 监听示例,javasocket,java socket监


java socket监听示例:

socket监听需要使用SocketServer类,如下代码:

package cn.outofmemory.socket.example;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.net.ServerSocket;import java.net.Socket;public class App {    public static void main(String[] args) throws IOException {        int port = args.length > 0 ? Integer.parseInt(args[0]) : 19999;        ServerSocket server = new ServerSocket(port);        System.out.println("server waits client");        Socket client = server.accept();        System.out.println("client comes. please write to client");        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));        BufferedReader consoleRdr = new BufferedReader(new InputStreamReader(System.in));        String line;        do {            line = consoleRdr.readLine();            if ("quit".equals(line)) {                break;            }            bw.write(line);            bw.write("\r\n");            bw.flush();        } while (true);        bw.close();        server.close();        System.out.println("bye");    }}

上述代码初始化了一个SocketServer的实例,然后通过accept方法等待客户端连接,客户端连接上之后通过socket流的BufferedWriter写入控制台用户的输入给客户端,没输入一行向客户端flush一次。

我们再看下对应的client端代码:

package cn.outofmemory.socket.example;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.net.Socket;import java.net.UnknownHostException;public class Client {    public static void main(String[] args) throws UnknownHostException, IOException {        final int PORT = 19999;        Socket client = new Socket("localhost", PORT);        BufferedReader rdr = new BufferedReader(new InputStreamReader(client.getInputStream()));        do {            String line = rdr.readLine();            System.out.print("server said:");            System.out.println(line);        } while (true);    }}

clien端初始化了一个Socket实例,然后读取服务器端写入的内容,并打印到控制台中。

相关栏目:

用户点评