首页 > 代码库 > java 网络编程
java 网络编程
Server 端:
package foundation;import java.io.*;import java.net.*;import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;public class SimpleSocketServer { public static void main(String[] args) { // TODO Auto-generated method stub ServerSocket serverSocket = null; /* * Socket socket = null; OutputStream os = null; InputStream is = null; */ // 监听端口号// Socket socket = null; /* OutputStream os = null; InputStream is = null;*/ int port = 10001; try { // 建立连接 serverSocket = new ServerSocket(port); // 获得连接 while (true) { // socket = ExecutorService es = Executors.newCachedThreadPool(); es.execute(new businessTask(serverSocket.accept())); } // 接收客户端发送内容 } catch (Exception e) { e.printStackTrace(); } finally { try { // 关闭流和连接 /* os.close(); is.close();*/// socket.close(); serverSocket.close(); } catch (Exception e) { } } }}class businessTask implements Runnable { private Socket socket; private OutputStream os; private InputStream is; public businessTask(Socket socket) { this.socket = socket; } // 监听端口号 int port = 10001; @Override public void run() { // TODO Auto-generated method stub try { is = socket.getInputStream(); byte[] b = new byte[1024]; int n = is.read(b); // 输出 System.out.println("客户端发送内容为:" + new String(b, 0, n)); // 向客户端发送反馈内容 os = socket.getOutputStream(); os.write(b, 0, n); socket.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}
client端:
package foundation;import java.io.*;import java.net.Socket;import java.net.UnknownHostException;public class SimpleSocketClient { public static void main(String[] args) { // TODO Auto-generated method stub Socket socket=null; InputStream is=null; OutputStream os=null; String serverIP="127.0.0.1"; int port=10001; String data="http://www.mamicode.com/hello"; try { socket=new Socket(serverIP,port); os=socket.getOutputStream(); os.write(data.getBytes()); is=socket.getInputStream(); byte[] b=new byte[1024]; int n=is.read(b); System.out.println("server response:"+new String(b,0,n)); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }finally{ try { os.close(); is.close(); socket.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。