2007-01-26
Java的单线程Socket通信
关键字: Socket天天写BS的东西,突然感到自己基础功底差了点,看来的恶补一番。
单线程的Socket
java 代码
- package com.wangtong.network;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.io.PrintWriter;
- import java.net.ServerSocket;
- import java.net.Socket;
- public class ServerSocket {
- public static void main(String[] args) {
- try {
- createServerSocket();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- private static void createServerSocket() throws IOException {
- ServerSocket serverSocket = new ServerSocket(8189);
- Socket socket = serverSocket.accept();// wait for client connection
- while (true) {
- BufferedReader in = new BufferedReader(new InputStreamReader(socket
- .getInputStream()));
- PrintWriter out = new PrintWriter(socket.getOutputStream());
- while (true) {
- String str = in.readLine();
- System.out.println("server:" + str);
- out.println("client receive" + str);
- out.flush();
- if (str.equals("exit"))
- break;
- }
- socket.close();
- }
- }
- }
java 代码
- package com.wangtong.network;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.InputStreamReader;
- import java.io.OutputStream;
- import java.io.PrintWriter;
- import java.net.Socket;
- import java.net.UnknownHostException;
- import java.util.Scanner;
- public class ClientSocket {
- private static final String URL = "localhost";
- private static final int PORT = 8189;
- /**
- * create client socket
- *
- * @throws IOException
- * @throws UnknownHostException
- *
- */
- private static void createClientSocket() throws UnknownHostException,
- IOException {
- Socket clientSocket = new Socket(URL, PORT);
- BufferedReader in = new BufferedReader(new InputStreamReader(
- clientSocket.getInputStream()));
- PrintWriter out = new PrintWriter(clientSocket.getOutputStream());
- BufferedReader wt = new BufferedReader(new InputStreamReader(System.in));
- while (true) {
- String str = wt.readLine();
- out.println("client send:" + str);
- out.flush();
- if (str.equals("end")) {
- break;
- }
- System.out.println(in.readLine());
- }
- clientSocket.close();
- }
- public static void main(String[] args) {
- try {
- createClientSocket();
- } catch (UnknownHostException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }







评论排行榜