欢迎光临
我们一直在努力

Java 实现TCP网络通信(1)

工具:IDEA2020

jdk 1.8

本文实现基于Socket类、ServerSocker类的TCP网络通信编程。

本文源代码下载: tcpServer.zip链接:https://pan.baidu.com/s/1d_RoBNpvPZ0l0-dGxp1raw?pwd=ognw

0.Socker类与ServerSocker类

(1)客户端

Socket类构造方法如下:

Socket(String host,int port) 创建流套接字并将其连接到指定主机上的指定接口

Socket(InetAddress address,int port) 创建流套字并将其连接到指定IP地址的指定端口

Socket类常用方法如下:

getInetAddress() 返回与此Socket对象关联的InetAddress
getInputStream() 返回与此Socket对象关联的InputStream
getOutStream() 返回与此Socket对象关联的OutputStream

(2)服务端

ServerSocket类构造方法如下:

ServerSocket() 无参构造方法,创建未绑定的服务器套接字
ServerSocket(int port) 有参构造方法,创建绑定到指定端口的服务器套接字

ServerSocket类常用方法如下:

accept() 监听要连接到此服务器套接字的客户端的Socket并接受它
getInetAddress() 返回此服务器套接字的本地地址
getLocalPort() 返回此服务器套接字正在监听的端口
setSoTimeout(int timeout) 设置带有指定超时时间。对accept()的调用将启用超时时间

一、创建TCP服务端

打开IDEA,点击File—>New—>Project

请添加图片描述 下面这里选择Java,然后右侧选择SDK版本,这里选择1.8版本

请添加图片描述 下一步输入Project name,这里 项目名称为 tcpServer,右下角选择“Finish”

请添加图片描述 创建的类名为TcpServer

请添加图片描述 参考代码如下:

import com.sun.corba.se.spi.orbutil.fsm.Input;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;

public class TcpServer {
public static void main(String[] args) throws IOException {
int port = 8888; // 服务端监听的端口号
//创建服务端ServerSocket的对象并绑定指定端口
ServerSocket serverSocket =new ServerSocket(port);
//调用accept()方法,进行监听,接受客户端的连接请求
Socket clientSocket = serverSocket.accept();
System.out.println("客户端已连接: " + clientSocket.getInetAddress());
InputStream is = clientSocket.getInputStream();
InputStreamReader isr = new InputStreamReader(is);
BufferedReader bufferedReader = new BufferedReader(isr);
//循环读取数据
String str =bufferedReader.readLine();
//输出
System.out.println(str);
//关闭流和socket
bufferedReader.close();
clientSocket.close();
}
}

用网络调试工具,模拟客户端向服务端发送信息,效果如下:

网络工具下载: https://pan.baidu.com/s/1eZtsINTOdU6v8S8NVeD6rA?pwd=ha4g

网络工具的使用方式,下载后解压,运行SocketTCPUDP.exe

在这里插入图片描述

先点击“TCP Client”,再点击“创建”

在这里插入图片描述 这里的IP因为是本地测试,IP就填写127.0.0.1,端口号填写8888,对应上面代码中的8888,然后点击确定 在这里插入图片描述 点击"链接",下面的“数据发送窗口”里面填写一些数字,然后点击”发送数据“,然后点击”断开“ 在这里插入图片描述 实现过程如下:

在这里插入图片描述

赞(0)
未经允许不得转载:171主机测评 » Java 实现TCP网络通信(1)
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址