第一次课:简单的TCP/IP编程实例

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第一次课:简单的TCP/IP编程实例相关的知识,希望对你有一定的参考价值。

第一步:创建服务器端程序

1、程序结构

技术分享

2、程序代码

package cn.shxy.net;

import java.io.IOException;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;

public class TCPServer {
    //主函数
    public static void main(String[] args) throws IOException{
        new TCPServer();
    }
    
    //服务器套接字
    private ServerSocket serverSocket;
    //客户端套接字
    private Socket client;
    
    //构造函数
    public TCPServer() throws IOException{
        //实例化服务器套接字
        serverSocket = new ServerSocket(65535);
        //接受客户端连接
        client = serverSocket.accept();
        //输出客户端地址和端口
        System.out.println(client.getInetAddress() + ":" + client.getPort());
        
        //获取输出流对象,包装成打印流
        PrintStream p = new PrintStream(client.getOutputStream());
        //向客户端发信息,注意此处的换行符
        p.print("你好!\r\n");
    }
}

 

第二步:创建客户端程序

1、程序结构

技术分享

2、程序代码

package cn.shxy.net;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;
import java.net.UnknownHostException;

public class TCPClient {
    //主函数
    public static void main(String[] args) throws UnknownHostException, IOException{
        new TCPClient();
    }
    
    //套接字
    private Socket client;
    
    //构造函数
    public TCPClient() throws UnknownHostException, IOException{
        //与服务器相连
        client = new Socket("127.0.0.1", 65535);
        //包装输入流对象,用于获取服务器的消息
        BufferedReader reader = new BufferedReader(new InputStreamReader(client.getInputStream())) ;
        //读取一行
        String str = reader.readLine();
        //输出读取的消息
        System.out.println("从服务器端得到数据:" + str);
    }
}

 

以上是关于第一次课:简单的TCP/IP编程实例的主要内容,如果未能解决你的问题,请参考以下文章

TCP/IP网络编程:05TCP原理 --简单描述

网络编程--大杂烩

Socket网络编程(TCP/IP/端口/类)和实例

从零探索Java网络编程01之 TCP/IP 与 Socket

Java网络编程实现简单通信含代码(狂神说)

转载Http协议与TCP协议简单理解后续