前言
因为项目开发时一般要不到现场实际服务器的ip和端口以及服务器环境。另外也可以通过NetAssist网络助手工具模拟服务器,模拟测试相关数据是否能够发送正常、正确。其次,网络调试助手也可以当做客户端,主动去连接服务器。比如,自己写了一个监听端口。如何验证这个监听端口能够正常接收 并且处理 数据。网络调试助手就可以以
可以使用网络调试助手 方便的创建 客户端 和 服务端。用来模拟网络的连接。以及数据的发送。
1、创建服务端
具体创建过程如图所示
2、创建客户端
客户端要连接服务端,要确保连接的端口 是开启的。否则 是连接不成功的。
2.1 成功连接
连接成功情况:连接上一个创建的服务端 127.0.0.1 30303
创建多个客户端,查看服务端连接情况 我创建了三个客户端,连接同一个服务端。
同时,telnet 这个端口的时候,也是可以成功通过。如下图所示
2.2 连接失败的情况
如果目标服务器的端口没有开放,也是连接不成功的。如下图所示
同时telnet 这个端口 是不通的。
3、基本通信
在客户端和服务端 成功建立连接的情况下,可以相互发送信息。例如
服务端 向 客户端 发送数据
客户端 向 服务端 发送数据
4、代码案例
当然你也可以自己写一个网络通信的工具,然后模拟客户端 或者 服务端。但是网络调试助手就挺好用的,直接使用这个工具进行调试就可以了。
package A8网络编程.B2网络助手.代码;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import java.util.Scanner;
/**
* @author zyz
* @version 1.0
* @data 2023/10/17 10:11
* @Description:
*/
public class Client {
public static void main(String[] args) throws IOException {
Socket socket = new Socket("ip", 8888);
OutputStream outputStream = socket.getOutputStream();
InputStream inputStream = socket.getInputStream();
Scanner src = new Scanner(System.in);
while (true){
System.out.println("请输入和服务器的通信内容:");
String content = src.next();
outputStream.write(content.getBytes());
byte[] data = new byte[1024];
int len;
System.out.println("开始接收服务器返回的数据:");
while ((len=inputStream.read(data))!=-1){
/**
* String(byte[] bytes, int offset, int length)
* 构造一个新的 String,方法是使用指定的字符集解码字节的指定子数组。
*/
System.out.println(new String(data,0,len));
break;
}
System.out.println("结束接收服务器返回的数据:");
}
}
}