程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java的socket通信的demo

Java的socket通信的demo

編輯:關於JAVA

 Java代碼

  package test.socket;

  import Java.io.BufferedReader;

  import Java.io.DataInputStream;

  import Java.io.IOException;

  import Java.io.InputStreamReader;

  import Java.io.OutputStream;

  import Java.io.PrintStream;

  import Java.Net.ServerSocket;

  import Java.Net.Socket;

  import Java.Net.UnknownHostException;

  public class TalkMe {

  public static void main(String[] args) {

  System.out.println("請輸入:IP地址:");

  TalkMe talk = new TalkMe();

  talk.listener().start();

  try {

  talk.talker(new BufferedReader(new InputStreamReader(System.in)).readLine()).start();

  } catch (IOException e) {

  e.printStackTrace();

  }

  }

  private Thread listener(){

  return new Thread() {

  public void run() {

  DataInputStream dataIS = null;

  String clIEntSay;

  try {

  ServerSocket server = new ServerSocket(9666);

  Socket socket = server.accept();

  while (true) {

  dataIS = new DataInputStream(socket.getInputStream());

  clIEntSay = dataIS.readLine();

  System.out.println("Other say:" + clIEntSay);

  }

  } catch (IOException e) {

  e.printStackTrace();

  }

  }

  };

  }

private Thread talker(final String ip){

  return new Thread(){

  public void run() {

  Socket socket = null;

  InputStreamReader stdin=new InputStreamReader(System.in);

  BufferedReader br=new BufferedReader(stdin);

  DataInputStream dataIS = new DataInputStream(System.in);

  OutputStream os;

  PrintStream ps;

  String say = "";

  boolean flag = true;

  while (flag) {

  if (flag)

  System.out.println("connection ....");

  try {

  socket = new Socket(ip, 9666);

  System.out.println("connection ok.");

  flag = true;

  os = socket.getOutputStream();

  ps = new PrintStream(os);

  while (true) {

  say = dataIS.readLine();

  ps.println(say);

  }

  } catch (UnknownHostException e) {

  try {

  sleep(1000);

  } catch (InterruptedException e1) {

  e1.printStackTrace();

  }

  } catch (IOException e) {

  }

  }

  }

  };

  }

  }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved