JavaSocket编程TCP

2012-11-12

  写了一个javaSocket通信的例子,比较容易懂,主要是TCP协议的。下面是服务端的代码

  Java代码

  import java.io.IOException;

  import java.net.InetAddress;

  import java.net.Socket;

  public class ServerSocket {

  public static void main(String[] args) {

  beginSocket();

  }

  public static void beginSocket(){

  try {

  java.net.ServerSocket serverSocket=new java.net.ServerSocket(3456);

  InetAddress inta=serverSocket.getInetAddress().getLocalHost();

  System.out.println(inta.getHostAddress());

  while(true){

  Socket socket=serverSocket.accept();

  new HelloMessage(socket);

  }

  } catch (IOException e) {

  e.printStackTrace();

  }

  }

  }

  为了提高并发时的处理效率,对于每个请求,系统都新建一个线程处理。

  Java代码

  import java.io.BufferedReader;

  import java.io.InputStreamReader;

  import java.io.PrintWriter;

  import java.net.Socket;

  public class HelloMessage extends Thread {

  private Socket socket_ = null;

  public HelloMessage(Socket socket) {

  this.socket_ = socket;

  this.start();

  }

  public void run() {

  try {

  BufferedReader bReader = new BufferedReader(new InputStreamReader(

  this.socket_.getInputStream()));

  PrintWriter pWriter = new PrintWriter(this.socket_

  .getOutputStream());

  String requestStr = bReader.readLine();

  if (requestStr != null && !"".equals(requestStr)) {

  if (requestStr.equals("java")) {

  pWriter.println("your write is java");

  }

  if (requestStr.equals(".net")) {

  pWriter.println("your write is .net");

  }

  if (requestStr.equals("php")) {

  pWriter.println("your write is php");

  }

  if (requestStr.equals("end")) {

  pWriter.println("your write is end");

  }else{

  pWriter.println("your write is other");

  }

分享到:
0
相关阅读
友情链接
© 2018 我考网 http://www.woexam.com 中国互联网举报中心 湘ICP备18023104号 京公网安备 11010802020116号
违法和不良信息举报:9447029@qq.com