java socket 监听示例,javasocket,java socket监
分享于 点击 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实例,然后读取服务器端写入的内容,并打印到控制台中。
用户点评