zoukankan      html  css  js  c++  java
  • Java:网络编程值TCP的使用

    演示TCP传输
     
    1.Tcp分客户端和服务端
    2.客服端对应的对象是scoket
       服务端对应的对象是serverscoket
     
    客户端:
    通过查阅scoket对象,发现在建立对象时,就可以连接指定的主机。
    因为tcp是面向连接的,所以在建立scoket服务时,就要有服务端存在,并连接成功,形成通路后,在该通道进行数据的传输。
     
    需求:给服务端发送一个文本数据
    步骤:
        1.创建Socket服务并指定要连接的主机和端口。可以采用构造方法Socket(String host, int port)或对象方法connect(SocketAddress endpoint) 
        2.获取Sockett中的输出流,用来发送数据。方法是OutputStream getOutputStream()
        3.关闭客户端流。
    //例子如下:
    import java.net.*;
    import java.io.*;
    class TcpClient
    {  
        public static void main(String[] args)throws Exception
        {
          //创建客户端的Socket服务,指定目的主机和端口     
          Socket s = new Socket("192.168.1.105",8888);
          
          //为了发送数据,应该获取Socket中的输出流, 
          OutputStream out = s.getOutputStream();
          
          out.write("tcp is coming!".getBytes());
          
          //关闭客户端流
          s.close();
        }
    }
    需求:定义端点接收数据,并打印在控制台上。
    服务端:
    1.建立服务端的Socket服务,构造函数ServerScoket(int port),并监听一个端口
    2.获取连接过来的客服端对象,方法Socket accept() ,这个方法是阻塞式的,没有连接就等。
    3.如果客服端发送过来数据,那么服务端要使用对应的客服端对象,并采用该客服端的读取流对象来读取发过来的数据。并打印在控制台。
    4.关闭服务端(可选操作) 
    //例子如下:
    class TcpServer
    {
        public static void main(String[] args)throws Exception
        {
            //建立服务端的Socket服务,并监听一个端口
            ServerSocket ss = new ServerSocket(8888);
            
            //通过accept方法获取连接过来的客服端对象
            Socket s = ss.accept();
            String IP = s.getInetAddress().getHostAddress();
            System.out.println(IP+"...connected!");        
            
            //获取客户端发送给来的数据,服务端要使用客服端对象的读取流类读取数据。方法InputStream getInputStream()  
            InputStream in = s.getInputStream();
            
            byte[] buf = new byte[1024];
    
            int len = in.read(buf);
                    
            System.out.println(new String(buf,0,len));
            
            s.close();//关闭客户端
            
            ss.close();//关闭服务端(可选操作)
        }
    }
  • 相关阅读:
    (转载)_信息安全入门指南
    经历--比赛绿盟_安全研究员
    Python正则表达式操作指南
    web 安全学习
    2014-9-10中午睡觉的一个梦
    渗透工具学习
    CVE 2013-3897
    STL 学习
    设置chrome 可以保存mht网页
    合并windows7系统下的两个IE8浏览器进程
  • 原文地址:https://www.cnblogs.com/XYQ-208910/p/4918895.html
Copyright © 2011-2022 走看看