美文网首页
Java Socket编程(网络编程)

Java Socket编程(网络编程)

作者: 呦西小强 | 来源:发表于2018-02-08 10:57 被阅读0次

一、Socket概要

  Java的网络编程主要涉及到的内容是Socket编程,那么什么是Socket呢?简单地说,Socket,套接字,就是两台主机之间逻辑连接的端点(由IP地址、TCP/IP协议、端口号组成)。Socket,本质上就是一组接口,是对TCP/IP协议的封装和应用(程序员层面上)。
  TCP/IP协议组可以分为四个层次:
    应用层: HTTP协议、FTP协议
    传输层: TCP协议(面向有连接)、UDP协议(面向无连接)
    网络层: IP协议、ICMP协议
    网络接口层: 设备接口程序

二、案例

  (1)客户端:

import java.io.OutputStream;
import java.net.Socket;


public class Client {

    public static void main(String[] args) throws Exception{
        
        // 要连接的服务端IP地址和端口
        String host = "127.0.0.1"; 
        
        int port = 55533;
        
        // 与服务端建立连接
        Socket socket = new Socket(host, port);
        
        // 建立连接后获得输出流
        OutputStream outputStream = socket.getOutputStream();
        
        String message="Hello Server I'm Client!";
        
        socket.getOutputStream().write(message.getBytes("UTF-8"));
        
        outputStream.close();
        
        socket.close();
       
    }
}

  (1)服务器端:

import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;


public class Server {
    
    public static void main(String[] args) throws Exception{
        // 监听指定的端口
        int port = 55533;
        
        ServerSocket server = new ServerSocket(port);
        
        // server将一直等待连接的到来
        Socket socket = server.accept();
        
        // 建立好连接后,从socket中获取输入流,并建立缓冲区进行读取
        InputStream inputStream = socket.getInputStream();
        byte[] bytes = new byte[1024];
        int len;
        StringBuilder sb = new StringBuilder();
        
        while ((len = inputStream.read(bytes)) != -1) {
            
          sb.append(new String(bytes, 0, len,"UTF-8"));
          
        }
        
        System.out.println("接收到客户端消息:" + sb);
      
        inputStream.close();
        socket.close();
        server.close();
    }
    
}

大家可以尝试修改变成两端进行相互通信的案例,有什么错误或者疑问,请留言讨论

相关文章

网友评论

      本文标题:Java Socket编程(网络编程)

      本文链接:https://www.haomeiwen.com/subject/pnizzxtx.html