教育路上
摘要:Java 简单 TCP 网络 程序 ,接下来通过一个 TCP 通信的案例来进一步学习。 要实现 TCP 通信需要创建一个服务器端程序和一个客户端程序,。以下是我们为大家整理的,相信大家阅读完后肯定有了自己的选择吧。
2022-05-18 16:39网络推荐
}运行结果如图 13-16 所示。
例 13-10 中,创建了一个服务器端程序,用于接收客户端发送的数据。在创建 ServerSocke
对象时指定了端口号,并调用该对象的 accept()方法。从运行结果可以看出,命令行窗口
中的光标一直在闪动,这是因为 accept()方法发生阻塞,程序暂时停止运行,直到有客
户端来访问时才会结束这种阳塞状芯。这时该方法会返回一个 Socket 类型的对象用于表示
客户端,通过该对象获取与客户端关联的输出流并向客户端发送信息,同时执行
Thread.sleep(5000)语句植拟服务器执行其他功能占用的时间。最后,调用
Socket 对象的 close()方法将通信结束。
例 13-10 完成了服务器端程序的编写,接下来编写客户端程序,如例 13-11 所示。
例 13-11 Example05.java
import java.io.*;
import java.net.*;
public class Example05 {
public static void main(String[] args) throws Exception {
new TCPClient().connect(); // 创建 TCPClient 对象,并调用
connect()方法
}
}
//TCP 客户端
class TCPClient {
private static final int PORT = 7788; // 服务端的端口号
public void connect() throws Exception {
//创建一个 Socket 并连接到给出地址和端口号的计算机
Socket client = new Socket(InetAddress.getLocalHost(), PORT);
InputStream is = client.getInputStream(); // 得到接收数据的流
byte[] buf = new byte[1024]; // 定义 1024 个字节数组的缓
冲区
int len = is.read(buf); // 将数据读到缓冲区中
System.out.println(new String(buf, 0, len)); // 将缓冲区中的数据输出
client.close(); // 关闭 Socket 对象,
释放资源
}
}
运行结果如图 13-17 所示。
例 13-11 中,创建了一个客户端程序,用于向服务器端发送数据。在客户端创建 Socket 对象与服务器端建立连接后,通过 Socket 对象获得输人流读取服务端发来的数,并打印结 果,如图 13-17 所示。同时例 13-10 中的服务端程序结束了阻塞状态,如图 13-18 所示, 会打印出“开始与客户端交互数据”,然后向客户端发出数据“传智播客欢迎你”,在休眠 5 秒钟后会打印出“结束与客户端交互数据”,本次通信结束。
访客的评论 2023/12/03 06:30
文中描述的是准确的吗,如何报名!