TCP通信客户端和服务端简单代码实现
程序员文章站
2022-06-06 08:33:53
...
客户端Socket中的方法:
- Socket(InetAddress address, int port)
-
创建一个流套接字并将其连接到指定 IP 地址的指定端口号。
- InputStream getInputStream()
-
返回此套接字的输入流。
- OutputStream getOutputStream()
-
返回此套接字的输出流
InputStream中方法:
- int read(byte[] b)
-
从输入流中读取一定数量的字节,并将其存储在缓冲区数组 b 中。
客户端程序
package JAVA_Test7;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
public class TCPClient {
public static void main(String[] args) throws IOException {
//1.创建一个客户端对象Socket,构造方法绑定ip地址和端口号
Socket socket = new Socket("127.0.0.1",8888);
//2.使用Socket中的方法获得OutputStream对象
OutputStream os = socket.getOutputStream();
//3.使用字节输出流OutputStream中的Write方法发送数据
os.write("你好服务器".getBytes());
//4.使用Socket对象中的方法getInputStream()获得InputStream
InputStream is = socket.getInputStream();
//5.读取信息
byte bytes[] = new byte[1024];
int len = is.read(bytes);
System.out.println(new String(bytes,0,len));
socket.close();
}
}
- TCP服务器端ServerSocket
*ServerSocket(int port) -
创建绑定到特定端口的服务器套接字。
- Socket accept()
-
侦听并接受到此套接字的连接
流程
- 1.创建服务器ServerSocket对象
- 2.使用ServerSocket中的accept方法获得请求的客户端Socket对象
- 3.使用Socket中的方法获得InputStream网络字节输入流
- 4.使用InputStream中的read()方法,读取数据
- 5.使用Socket中的方法获得OutputStream输出流
- 6.使用OutputStream中的write()方法,给客户端发送数据
服务端程序
package JAVA_Test7;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class TCPServer {
public static void main(String[] args) throws IOException {
//1.创建服务器ServerSocket对象
ServerSocket serverSocket = new ServerSocket(8888);
//2.使用ServerSocket中的accept方法获得请求的客户端Socket对象
Socket socket = serverSocket.accept();
//3.使用Socket中的方法获得InputStream网络字节输入流
InputStream is = socket.getInputStream();
//4.使用InputStream中的read()方法,读取数据
byte []bytes = new byte[1024];
int len = is.read(bytes);
System.out.println(new String(bytes,0,len));
//5.使用Socket中的方法获得OutputStream输出流
OutputStream os = socket.getOutputStream();
//6.使用OutputStream中的write()方法,给客户端发送数据
os.write("收到谢谢".getBytes());
socket.close();
serverSocket.close();
}
}
上一篇: 软件项目开发的步骤(心得)
下一篇: 扎囊县