欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java语言-73:TCP编程-客户端和服务器端加入反馈

程序员文章站 2024-03-22 18:56:22
...

1、客户端:

客户端步骤:

1)创建Socket对象

2)获取通道内的输出流

3)接收客户端反馈

4)显示数据

5)关闭资源

 

简单举例:

package Socket_TCP;

import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;

public class Client_return {
public static void main(String[] args) throws Exception {
// 1)创建Socket对象
Socket s = new Socket("10.88.29.231", 10011);
// 2)获取通道内的输出流
OutputStream ops = s.getOutputStream();
ops.write("wonderful".getBytes());
// 3)接收客户端反馈
InputStream ips = s.getInputStream();
byte[] bytes = new byte[1024];
int len = ips.read(bytes);
// 4)显示数据
String Client = new String(bytes, 0, len);
System.out.println(Client);
// 5)关闭资源
s.close();
}

}

2、服务器端

服务端开发步骤:

1)创建ServerSocket对象

2)监听客户端连接

3)获取通道内的流

        获取ip

        定义存储空间

        定义长度

        获取数据      

4)输出到控制台

5)反馈给客户端

 6)释放资源

简单举例:

package Socket_TCP;

import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;

public class Server_return {
public static void main(String[] args) throws Exception {
// 1)创建ServerSocket对象
@SuppressWarnings("resource")
ServerSocket ss = new ServerSocket(10011);
// 2)监听客户端连接
Socket s = ss.accept();
// 3)获取通道内的流
InputStream ips = s.getInputStream();
// 获取ip
String ip = s.getInetAddress().getHostAddress();
// 定义存储空间
byte[] bytes = new byte[1024];
// 定义长度
int len = ips.read(bytes);
// 获取数据
String data = new String(bytes, 0, len);
// 4)输出到控制台
System.out.println("from" + ip + "data is:" + data);
// 5)反馈给客户端
// 获取通道内的输出流
OutputStream ops = s.getOutputStream();
ops.write("已写完".getBytes());
// 6)释放资源
s.close();
}
}