zoukankan      html  css  js  c++  java
  • java网络编程(5)——Tcp

      Tcp相对于Udp就是面向连接的协议,最主要的特点要建立连接之后才能通信,客户端用Socket需要指点地址与端口,服务端用ServeSocket,只需指点监听某个端口,因为是面向连接,所以服务器端一定要先运行起来,然后客户端就可以通过地址和端口找到我们的服务端,建立连接之后就可以通信!

      首先实现最简单的服务端,客户端通信的一个小例子

    客户端:

    package com.seven.tcp;
    
    import java.io.OutputStream;
    import java.net.Socket;
    
    public class TcpClient {
        
        public static void main(String[] args) throws Exception {
            
            Socket socket = new Socket("127.0.0.1",10001);
            
            OutputStream out = socket.getOutputStream();
            
            out.write("hello tcp".getBytes());
            
            socket.close();
        } 
    }

    服务端:

    package com.seven.tcp;
    
    import java.io.InputStream;
    import java.net.ServerSocket;
    import java.net.Socket;
    
    public class TcpServer {
    
        public static void main(String[] args) throws Exception {
            
            ServerSocket serverSocket = new ServerSocket(10001);
            
            //获取客户端socket
            Socket socket = serverSocket.accept();    
            
            InputStream in = socket.getInputStream();
            
            byte[] b = new byte[1024];
            
            while(true){
                int len = in.read(b);
                if(len == -1) break;
                System.out.println(socket.getInetAddress()+"---->"+new String(b,0,len));
            }
            socket.close(); 
        }
    }

    这样就实现了客户端服务端之间的通讯,其实主要都是通过socket对象实现的,客户端socket的OutputStream对应服务端socket的InputStream,而服务端的OutputStream就对应客户端的InputStream,通过这两个流就实现了通信,包括文本,图片,文件等,只需把文件变成字节流就可以通过tcp来传输!

  • 相关阅读:
    python安装
    js手机端图片弹出方法
    EL属性范围用法sessionScope等(转)
    jsp 锚定位的方式
    当input中的内容改变时触发的事件
    Java获取客户端真实IP地址
    js正则去掉所有html标签/某一特定字符
    jQuery的ajaxFileUpload上传文件插件刷新一次才能再次调用触发change
    SELECT INTO 和 INSERT INTO SELECT
    GoogleGoogleGoogle!!!! 百度云资源
  • 原文地址:https://www.cnblogs.com/sevenlin/p/sevenlin_tcpdemo20150802.html
Copyright © 2011-2022 走看看