java socket编程
2013-06-02 18:21
274 查看
这里需要两个类:socket服务器端,socket客户端
实战经验:
以上只是适用于一个客户端对一个服务器,不能实现多客户端并发请求。在实际应用中,一般服务器端会采取多线程设计,当客户端请求来时变创建一个线程来处理相应请求
package com; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Inet4Address; import java.net.Socket; public class SocketClient { public static void main(String[] args) { try { //向socket服务器发送请求,哲理socket服务器所在机器为本机,端口是8899 Socket server = new Socket(Inet4Address.getLocalHost(),8899); //由Socket对象得到输入流,并构造相应的BufferedReader对象 BufferedReader in = new BufferedReader(new InputStreamReader(server.getInputStream())); //由Socket对象得到输出流,并构造PrintWriter对象 PrintWriter out = new PrintWriter(server.getOutputStream()); //获得系统表中输入流 BufferedReader wt = new BufferedReader(new InputStreamReader(System.in)); while(true){ //从控制台读取输入信息 String str = wt.readLine(); out.println(str);//向服务器端发送消息 out.flush(); if(str.equals("end"))break; //将服务器端返回的消息打印出来 System.out.println(in.readLine()); } server.close(); } catch (IOException e) { e.printStackTrace(); } } }
package com; 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 SocketServer { /** * @param args */ public static void main(String[] args) { try { ServerSocket server = new ServerSocket(8899);//创建一个端口为8899(1024以上随便输,但是不要与该机器已有端口冲突)的socket服务器 Socket client = server.accept();//使用accept()阻塞等待客户请求,有客户请求到来则产生一个Socket对象,并继续执行 BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream())); PrintWriter out = new PrintWriter(client.getOutputStream()); while(true){ String str = in.readLine();//从客户端读取数据 out.println("server-->"+str);//项客户度啊发送数据 out.flush(); if(str.equals("end"))break; } client.close(); } catch (IOException e) { e.printStackTrace(); } } }
实战经验:
以上只是适用于一个客户端对一个服务器,不能实现多客户端并发请求。在实际应用中,一般服务器端会采取多线程设计,当客户端请求来时变创建一个线程来处理相应请求
相关文章推荐
- java socket编程
- 三步学会Java Socket编程
- 总结java socket编程
- Java基础:三步学会Java Socket编程
- 三步学会Java Socket编程
- java socket编程
- java socket编程(终于明白了socket)
- Java Socket编程
- Java socket编程
- Java Socket编程
- Java Socket编程
- 三步学会Java Socket编程(1)
- Java Socket编程
- java socket编程
- Java Socket编程
- Java Socket编程
- Java socket编程
- 浅出Java Socket编程
- Java Socket编程
- Java基础:三步学会Java Socket编程