Итак, я пытался практиковать этот эталонный мини-проект по ссылке
https://www.c-sharpcorner.com/article/how-to-make-a-chat-application-using-sockets-in-java/
но он продолжает показывать ошибки. Может ли кто-нибудь помочь мне исправить код и в чем проблема
… Клиент …
package chatapplication;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.net.Socket;
public class client extends javax.swing.JFrame {
static Socket sckt;
static DataInputStream dtinpt;
static DataOutputStream dtotpt;
public client() {
initComponents();
}
@SuppressWarnings("unchecked")
private void initComponents() {}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
try {
String msgout = "";
msgout = jTextField1.getText().trim();
dtotpt.writeUTF(msgout);
} catch (Exception e) {}
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new client().setVisible(true);
}
});
try {
sckt = new Socket("127.0.0.1", 1201);
dtinpt = new DataInputStream(sckt.getInputStream());
dtotpt = new DataOutputStream(sckt.getOutputStream());
String msgin = "";
while (!msgin.equals("Exit")) {
msgin = dtinpt.readUTF();
jTextArea1.setText(jTextArea1.getText().trim() + "n Server:" + msgin);
}
} catch (Exception e) {}
}
private javax.swing.JButton jButton1;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextArea jTextArea1;
private javax.swing.JTextField jTextField1;
}
… Сервер …
package chatapplication;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class Server extends javax.swing.JFrame {
static ServerSocket ssckt;
static Socket sckt;
static DataInputStream dtinpt;
static DataOutputStream dtotpt;
public Server() {
initComponents();
}
@SuppressWarnings("unchecked")
private void initComponents() {}
private void btnsendActionPerformed(java.awt.event.ActionEvent evt) {
try {
String msgout = "";
msgout = txtbxfield.getText().trim();
dtotpt.writeUTF(msgout);
} catch (Exception e) {}
}
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Server().setVisible(true);
}
});
String msgin = "";
try {
ssckt = new ServerSocket(1201);
sckt = ssckt.accept();
dtinpt = new DataInputStream(sckt.getInputStream());
dtotpt = new DataOutputStream(sckt.getOutputStream());
while (!msgin.equals("exit")) {
msgin = dtinpt.readUTF();
txtbxarea.setText(txtbxarea.getText().trim() + "n Client:" + msgin);
}
} catch (Exception e) {}
}
private javax.swing.JButton btnsend;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JScrollPane jScrollPane1;
private javax.swing.JTextArea txtbxarea;
private javax.swing.JTextField txtbxfield;
}