在学习网络编程的Socket,写了一个用服务器与客户端机器人自动聊天的程序,使用到了MySQL存储机器人回复的信息,但是出现了readUTF()的BUG到现在还没有解决。
下面是服务器的代码
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
public class socket1 implements DAO{
public static void main(String[] args) throws IOException, SQLException {
socket1 sc = new socket1();
//随机数
Random random = new Random();
//数据库池,创建一个数据库连接不断开
conttent c = new conttent(1);
//8888端口
ServerSocket ss = new ServerSocket(8888);
System.out.println("监听在端口号:8888");
Socket s = ss.accept();
InputStream is = s.getInputStream();
OutputStream os = s.getOutputStream();
//conttent的getConnection()获得该线程池的方法
Connection c1 = c.getConnection();
DataInputStream dis = new DataInputStream(is);
DataOutputStream dos = new DataOutputStream(os);
while (true){
//接受客户端发来的数据
String line = dis.readUTF();
System.out.println("收到信息为:"+line);
if(line != null)