软件测试学习笔记丨socket协议测试

本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/29813

一,socket协议介绍

  • 在计算机网络中,Socket(套接字)是一种通信机制。
  • Socket是对TCP/IP协议的封装。
  • HTTP协议是应用层协议,更标准,方便。
  • Socket协议更底层、更通用。

二,应用场景

  • 直接应用:特定的物联网应用中,需要与底层硬件或其他系统进行直接的、定制化的通信。
  • 间接应用:大部分的协议都是基于 Socket 协议进行抽象优化,比如HTTP协议。

三,实现方案

  • 环境准备。
  • 实现思路。
    • 发起请求。
    • 获得响应。
    • 断言与预期结果是否一致。
import java.io.*;
import java.net.Socket;

public class SocketClass {
    public String sendSocket(String sendData){
        String hostName = "socket.hogwarts.ceshiren.com";
        int port = 30001;
        String response = null;

        //建立socket连接
        try {
            Socket socket = new Socket(hostName, port);
            //获取输入流和输出流
            OutputStream outputStream = socket.getOutputStream();
            DataOutputStream out = new DataOutputStream(outputStream);

            InputStream inputStream = socket.getInputStream();
            DataInputStream input = new DataInputStream(inputStream);
            // 向服务器发送数据
            out.writeUTF(sendData);
            System.out.println("发送消息给服务器:" + sendData);
            //从服务器接收数据
            response = input.readUTF();
            System.out.println("从服务器接收到的消息:" + sendData);
            //关闭连接
            socket.close();

        } catch (IOException e) {
            e.printStackTrace();
        }
        return response ;
    }
}
import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.*;

class SocketClassTest {

    @Test
    void sendSocket() {
        SocketClass socketClass = new SocketClass();
        String res = socketClass.sendSocket("hogwarts测试开发");
        assertEquals("hogwarts测试开发",res);
    }
}

获取更多软件测试知识

微信图片_20240311143556.png

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值