java实现socket五子棋程序
时间: 2023-11-29 14:06:30 浏览: 61
以下是一个简单的Java程序,用于实现基于Socket的五子棋游戏:
```java
import java.io.*;
import java.net.*;
public class Server {
public static void main(String[] args) {
try {
ServerSocket serverSocket = new ServerSocket(1234);
System.out.println("服务器已启动,等待客户端连接...");
Socket socket = serverSocket.accept();
System.out.println("客户端已连接!");
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter writer = new PrintWriter(socket.getOutputStream(), true);
writer.println("连接成功!请开始下棋...");
String message;
while ((message = reader.readLine()) != null) {
System.out.println("收到消息:" + message);
// 在这里处理接收到的消息,进行游戏逻辑判断和下棋操作
// 例如,如果接收到消息是坐标信息,可以进行下棋操作并返回结果
// 然后将结果发送给客户端
String result = "下棋成功";
writer.println(result);
}
reader.close();
writer.close();
socket.close();
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
```java
import java.io.*;
import java.net.*;
public class Client {
public static void main(String[] args) {
try {
Socket socket = new Socket("localhost", 1234);
System.out.println("已连接到服务器!");
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter writer = new PrintWriter(socket.getOutputStream(), true);
String message = reader.readLine();
System.out.println("收到消息:" + message);
// 在这里可以进行游戏逻辑和用户输入操作,发送给服务器进行处理
// 例如,发送坐标信息给服务器
String coordinates = "1,2";
writer.println(coordinates);
String result = reader.readLine();
System.out.println("收到结果:" + result);
reader.close();
writer.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
这是一个简单的基于Socket的五子棋游戏示例,服务器与客户端通过Socket进行通信,可以扩展和修改以满足你的需求。记得在代码中进行适当的错误处理和异常处理。