新网创想网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
TCP实现
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站建设、网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的顺城网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!TCP协议需要在双方之间建立连接,通过输入输出流来进行数据的交换,建立需要通过三次握手,断开需要四次挥手,保证了数据的完整性,但传输效率也会相应的降低。
简单的TCP实现
//服务端 public class TcpServer { public static void main(String[] args) throws IOException { ServerSocket serverSocket = new ServerSocket(8886); // 建立服务端,ip为本机ip,端口为8886 Socket accept = serverSocket.accept(); // 监听客户端的连接,一旦有客户端连接,则会返回客户端对应的accept InputStream in = accept.getInputStream(); //获取到客户端的输出流 byte b[] = new byte[1024]; int len = in.read(b); System.out.println("接受到客户端数据,返回数据"+new String(b,0,len)); OutputStream out = accept.getOutputStream(); // 给客户端发送消息 out.write("服务端已经接受".getBytes()); serverSocket.close(); } } // 客户端 public class TcpClient { public static void main(String[] args) throws IOException { Socket socket = new Socket("127.0.0.1", 8886); // 通过Socket来建立和服务端的连接 OutputStream out = socket.getOutputStream(); // 获取输出流(客户端输出流即向服务端输出信息) out.write("hello tcp Server".getBytes()); // 输出信息 InputStream in = socket.getInputStream(); // 接受服务端的消息 byte b[] = new byte[1024]; int len = in.read(b); System.out.println("接受到服务器消息 : "+new String(b,0,len)); // 输出 out.write("返回的的数据已经收到 ".getBytes()); // 向服务器返回消息 socket.close(); } }