tcp连接
简单的tcp连接
客户端
-
连接到服务器 Socket
-
发送消息
package TCP; import java.io.IOException; import java.io.OutputStream; import java.net.InetAddress; import java.net.Socket; //客户端 public class TcpClientDemo01 { public static void main(String[] args) { Socket socket=null; OutputStream os=null; try { //1.要知道服务的地址 //端口号 InetAddress ServerIp= InetAddress.getByName("127.0.0.1"); int port =9999; //创建一个socket连接 socket =new Socket(ServerIp,port); //发送消息 os = socket.getOutputStream(); os.write("你好啊".getBytes()); } catch (Exception e) { e.printStackTrace(); }finally { if(os!=null){ try { os.close(); } catch (IOException e) { e.printStackTrace(); } } if(socket!=null){ try { socket.close(); } catch (IOException e) { e.printStackTrace(); } } } } }
服务器
-
建立端口 ServerSocket
-
等待连接 accept();
-
接收消息
package TCP; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.ServerSocket; import java.net.Socket; //服务端 public class TcpServerDemo01 { public static void main(String[] args) { ServerSocket serverSocket =null; Socket socket =null; InputStream is= null; ByteArrayOutputStream baos =null; try { //1.我得有一个地址 serverSocket = new ServerSocket(9999); //2.等待客户端连接 socket =serverSocket.accept(); //读取客户端信息 is = socket.getInputStream(); /* 比较low 的写法 *byte[] buffer = new byte[1024]; int len; while ((len=is.read(buffer))!=-1){ String msg =new String(buffer,0,len); System.out.println(msg); } **/ //管道流 baos = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int len; while ((len=is.read(buffer))!=-1){ baos.write(buffer,0,len); } System.out.println(baos.toString()); } catch (IOException e) { e.printStackTrace(); }finally { //关闭资源 if(baos!=null){ try { baos.close(); } catch (IOException e) { e.printStackTrace(); } } if (is!=null){ try { is.close(); } catch (IOException e) { e.printStackTrace(); } } if(socket!=null){ try { socket.close(); } catch (IOException e) { e.printStackTrace(); } } if(serverSocket!=null){ try { serverSocket.close(); } catch (IOException e) { e.printStackTrace(); } } } } }

浙公网安备 33010602011771号