我花了一段时间阅读其他文章,似乎没有人和我有同样的情况。我尝试了所有未读的解决方案,但没有结果,因此决定创建这个问题。
我一直在处理服务器/客户端应用程序,并且客户端似乎不从套接字读取数据,但是服务器可以读取客户端发送的数据。客户端在尝试读取该行时冻结。这是我的代码:
客户:
import java.io.IOException;
import java.io.PrintWriter;
import java.net.Socket;
import java.util.Scanner;
import java.util.Timer;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JLabel;
public class Main {
public static Socket s = connect();
public static void sendMessage(String msg) {
if (s != null) {
PrintWriter outWriter = null;
try {
outWriter = new PrintWriter(s.getOutputStream(), true);
outWriter.println(msg);
outWriter.flush();
} catch (IOException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
outWriter.close();
} finally {
}
} else {
System.err.println("Error, socket is null!");
}
}
public static String readMessage() { …Run Code Online (Sandbox Code Playgroud) 这是问题所在.
首先,我在MySQL中创建了一个数据库
CREATE TABLE Users (User TEXT, Pass TEXT, ID TEXT, RegDate TEXT, Email TEXT, Rank TEXT);
Run Code Online (Sandbox Code Playgroud)
我现在有这个数据库
+-----------+------------------+------------+----------+-------------------+------------+
| User | Pass | ID | RegDate | Email | Rank |
+-----------+------------------+------------+----------+-------------------+------------+
Run Code Online (Sandbox Code Playgroud)
我使用导入了一个csv文件(Users.csv)(UTF-8,PlainText)
load data local infile 'Users.csv' into table Users fields terminated by ',' enclosed by '"' lines terminated by '\n';
Run Code Online (Sandbox Code Playgroud)
该文件的内容是
arinerron,asdfasdf,USR0000001,92082015,arinesaugmail,Owner
looy,asdfasdf,USR0000002,92082015,tjesaugmail,User
mooncat39,marsisawesome,USR0000003,92082015,harveyfamilygmail,Owner
Goldy,foxythepirate777,USR0000004,92082015,goldyftwgmail,User
Reid,reidyreid,USR0000005,92082015,reidgmail,Moderator
Bo,bobobobo,USR0000006,92082015,bobogmail,Moderator
Run Code Online (Sandbox Code Playgroud)
它的回应是
Query OK, 6 rows affected (0.00 sec)
Records: 6 Deleted: 0 Skipped: 0 Warnings: 0
Run Code Online (Sandbox Code Playgroud)
我跑了命令
SELECT * from …Run Code Online (Sandbox Code Playgroud)