ServerSocket的小程序

本文提供了一个简单的Java网络通信示例,包括服务器端MessageServer和客户端MessageClient。服务器监听10000端口,接收客户端连接,并发送固定消息。客户端连接服务器并接收此消息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MessageServer.java

package com.zyl;

import java.net.*;
import java.io.*;

/**
* 在10000端口下监听 网路上的应用程序连接 并发送字符串信息到网路客户端程序
*/

public class MessageServer {

public static void main(String[] args) throws Exception {

// 创建ServerSocket对象,在指定的int端口下监听
ServerSocket server = new ServerSocket(10000);
// 服务过程无限循环下去:
while (true) {
// 等待客户端程序的连接
System.out.println("等待连接");
// 如果没有连接,程序一直阻塞
Socket client = server.accept();
// 服务器首先在连接创建后向服务器发送消息
String message = "消息来自服务端";
// 打开网络输出流,准备写入内容
OutputStream output = client.getOutputStream();

// 使用包装类,包装outputStream
PrintWriter pw = new PrintWriter(new OutputStreamWriter(output));
// 输出字符串
pw.println(message);
pw.flush();
// 关闭打开的流
pw.close();
output.close();
// 结束会话
client.close();

}

}

}

MessageClient.java
package com.zyl;

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 MessageClient {
public static void main(String[] args) throws IOException {
// 1 连接指定位置主机上的10000端口下的ServerSocket//立即请求连接
Socket server = new Socket("192.168.25.149",10000);
// 2 如果请求连接建立成功,才可以接收或者发送信息
String message = "";
// 保存接收的消息
// 3 打开输入流对象inputStream
InputStream input =server.getInputStream();
// 4 使用BufferedReader包装
BufferedReader bReader = new BufferedReader(new InputStreamReader(input));
// 如果读不到数据阻塞或者出现异常
message=bReader.readLine();
System.out.println("server:"+message);
// 5 关闭流释放资源
bReader.close();
input.close();
// 断开与服务器之间的会话
server.close();

}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值