这个Socket的例子是只有一个服务器端(Server)和一个客户端(Client)

package test_Socket_base;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) {
ServerSocket server; //其方法accept 用来监听客户端的链接
Socket socket; //服务器端Socket对象
DataInputStream in; //数据输入输出流
DataOutputStream ou;
try {
server = new ServerSocket(22222); //启动监听,端口为22222
while(true) {
socket = server.accept();
in = new DataInputStream(socket.getInputStream()); //获取Socket中的出入输出流,以完成通信
ou = new DataOutputStream(socket.getOutputStream());
//---------- 这里可以换成任何数据包的接受和发送 ----------
String receive = in.readUTF(); //读取客户端信息
ou.writeUTF("已收到信息!谢谢!");//向客户端发送信息
//注意:读取和发送的顺序不能错
ou.close();
in.close();
socket.close();
System.out.println(receive);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
package test_Socket_base;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.net.Socket;
public class Client {
public static void main(String[] args) {
Socket socket; //客户端Socket对象
DataInputStream in; //输入输出流
DataOutputStream ou;
try {
socket = new Socket("127.0.0.1",22222); //新new一个客户端Socket,制定其链接的服务器地址和端口号
in = new DataInputStream(socket.getInputStream());//获取Socket中的出入输出流,以完成通信
ou = new DataOutputStream(socket.getOutputStream());
//---------- 这里可以换成任何数据包的接受和发送 ----------
ou.writeUTF("send"); //向服务器端发送信息
String receive = in.readUTF(); //接受服务器的反馈信息
in.close();
ou.close();
socket.close();
System.out.println(receive);
} catch (Exception e) {
e.printStackTrace();
}
}
}
本文提供了一个简单的Java Socket通信示例,包括一个服务器端和一个客户端。服务器端监听22222端口,接收客户端消息并回应确认信息。客户端连接到服务器后发送一条消息并接收服务器的反馈。
5045

被折叠的 条评论
为什么被折叠?



