点对点聊天的程序(swing界面)
主要代码
客户端
new Thread() {
public void run() {
try {
Socket socket=new Socket("localhost",Integer.parseInt(textField_2. getText()));
BufferedReader br= new BufferedReader(new InputStreamReader(socket. getInputStream()));
String line=null;
bw= new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
if((line=br.readLine())!=null) {
textArea.append(line+System.lineSeparator());
}
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}.start();
服务器端
new Thread() {
public void run() {
try {
Socket socket=new Socket("localhost",Integer.parseInt(textField_2.getText()));
BufferedReader br= new BufferedReader(new InputStreamReader(socket.getInputStream()));
String line=null;
bw= new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
if((line=br.readLine())!=null) {
textArea.append(line+System.lineSeparator());
}
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}.start();
内容发送
try {
if(textField_1.getText().equals("")||textField_2.getText().equals("")) {
JOptionPane.showMessageDialog(test.this, "请输入接受者地址和端口号");
}
else if(textField.getText().equals("")) {
JOptionPane.showMessageDialog(test.this, "发送内容不能为空");
}else {
textArea.append(textField_3.getText()+"(我)说:"+textField.getText()+"\n");
bw