基于TCP的网络编程

功能:模拟网站的登录,客户端录入账号密码,然后服务端进行验证。

功能分解1:单项通讯

功能:客户端发送一句话到服务器:

 【1】客户端

复制代码
package com.msb.test02;

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

/**
 * @author : liu
 * 日期:14:38:40
 * 描述:IntelliJ IDEA
 * 版本:1.0
 */
public class TestClient {
    //这是一个main方法:是程序的入口
    public static void main(String[] args) throws IOException {
        //1.创建套接字:指定服务器的ip和端口号
        Socket s=new Socket("192.168.3.2",8888);
        //2.对于程序员来说,向外发送数据  感受==》利用输出流
        OutputStream os=s.getOutputStream();
        DataOutputStream ds=new DataOutputStream(os);
        //利用这个OutputStream就可以向外发送数据了,但是没有直接发送String的方法
        //所以我们又在OutputStream外面套了一层处理流DataOutputStream
        ds.writeUTF("你好");
        //3.关闭流+网络资源
        ds.close();
        os.close();
        s.close();
    }
}
复制代码

【2】服务端

复制代码
package com.msb.test02;

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

/**
 * @author : liu
 * 日期:14:54:43
 * 描述:IntelliJ IDEA
 * 版本:1.0
 */
public class TestServer {
    //这是一个main方法:是程序的入口
    public static void main(String[] args) throws IOException {
        //1.创建套接字:指定服务器端口号
        ServerSocket ss=new ServerSocket(8888);
        //2.等待客户端发来的信息
        Socket s = ss.accept();//阻塞方法:等待接收客户端的数据,什么时候接收到数据,什么时候程序继续向下执行
        //accept()返回值为一个Socket,这个Socket其实就是客户端的Socket
        //接到这个Socket以后,客户端和服务器才能真正产生了连接,才真正可以通信了
        //3.感受到的操作流:
        InputStream is = s.getInputStream();
        DataInputStream dis=new DataInputStream(is);
        //4.读取客户端发来的数据:
        String str=dis.readUTF();
        System.out.println("客户端发来的数据为:"+str);
        //5.关闭流+关闭网络资源
        dis.close();
        is.close();
        s.close();
        ss.close();
    }
}
复制代码

测试:

(1)先开启客户端还是先开启服务器:

 

posted @   爱的加勒比  阅读(25)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示