• Day20 Java Socket使用


    Java中Socket的使用


    client端

    package org.tizen.test;
    
    import java.io.IOException;
    import java.io.OutputStream;
    import java.net.InetAddress;
    import java.net.Socket;
    import java.net.SocketTimeoutException;
    
    public class TestSocket {
    	public static void main(String []str)
    	{
    		OutputStream os = null;
    		Socket socket = null;
    		try {
    			//1.创建socket的对象,通过构造器指明服务端的IP地址。以及接收的端口号
    			socket = new Socket(InetAddress.getByName("192.168.1.104"),9000);
    			//2.getOutputStream发送数据。返回OutputStream
    			os = socket.getOutputStream();
    			//3.详细的输出过程
    			os.write("1111111111  1111111111".getBytes());
    		} catch (Exception e) {
    			// TODO: handle exception
    		}finally
    		{ 
    			//4.关闭详细的流和socket
    			if(os!=null)
    			{
    				try {
    					os.close();
    				} catch (IOException e) {
    					// TODO Auto-generated catch block
    					e.printStackTrace();
    				}
    			}
    
    			
    			if(socket!=null)
    			{
    				try {
    					socket.close();
    				} catch (IOException e) {
    					// TODO Auto-generated catch block
    					e.printStackTrace();
    				}
    			}
    					
    		}
    		
    		
    		
    	}
    }
    


    server端


    package org.tizen.test;
    
    import java.io.IOException;
    import java.io.InputStream;
    import java.net.ServerSocket;
    import java.net.Socket;
    
    
    
    public class TestTCPIP {
    	public static void main(String []str)
    	{
    		ServerSocket ss = null;
    		Socket s = null;
    		InputStream is = null;
    		try {
    			//1. 创建一个SocketServer的对象。通过构造器指明自己的端口
    			ss = new ServerSocket(9000);
    			//2.调用SocketServer的accept方法。返回一个Socket对象
    			s = ss.accept();
    			//3.调用Socket对象的getInputStream获得client发送过来的流
    			is = s.getInputStream();
    			byte[] b = new byte[20];
    			int len; 
    			while((len = is.read(b))!=-1)
    			{
    				String str1 = new String(b,0,len);
    				System.out.println(str1);
    			}
    		} catch (IOException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}
    		
    	}
    
    }


  • 相关阅读:
    The Elements of C# Style Design
    The Elements of C# Style Programming
    The Elements of C# Style General Principles
    浅谈CLR
    堆排序
    WPF系列:GridView列绑定控件(一)
    分发服务器迁移(distribute service migration‏)
    通过编码规范来学习一门编程语言
    如何维护数据库中的静态表
    关于短地址服务的一些看法
  • 原文地址:https://www.cnblogs.com/tlnshuju/p/6898701.html
Copyright © 2020-2023  润新知