您的位置:首页 > 编程语言 > Java开发

java基础第十七天

2016-06-07 09:01 573 查看
package com.qq;
import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.io.IOException;import java.io.InputStream;import java.io.ObjectInputStream;import java.net.ServerSocket;import java.net.Socket;import java.util.Iterator;import java.util.Set;
import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JTable;import javax.swing.JTextArea;import javax.swing.table.AbstractTableModel;import javax.swing.table.TableModel;
public class MyWindows {
JFrame jf;
// 联系人表格
JTable table; // 聊天记录
JTextArea history;
// 内容
JTextArea content;
// 按钮发送
JButton jbn;
public MyWindows() {
iniWindow(); listenList(); }
public void iniWindow() { // TODO Auto-generated method stub
jf = new JFrame(); jf.setLayout(null); jf.setBounds(100, 100, 800, 600);
// 联系人表格 table = new JTable(); table.setBounds(550, 0, 100, 300);
// 聊天记录 history = new JTextArea(); history.append("aaa"); history.setBounds(0, 0, 500, 300);
// 内容 content = new JTextArea(); content.setBounds(0, 320, 400, 200); content.setVisible(true);
// 按钮发送 jbn = new JButton("发送"); jbn.addActionListener(new ActionListener() {
@Override public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub sendContent(content.getText()); ClientSocket.clientSend(content.getText()); content.setText(""); } });
jbn.setVisible(true); jbn.setBounds(550, 300, 100, 100);
jf.add(history); jf.add(table); jf.add(jbn); jf.add(content);
jf.addWindowListener(new WindowAdapter() {
@Override public void windowClosing(WindowEvent e) { // TODO Auto-generated method stub ClientSocket.closeClinet(); System.exit(-1); } }); jf.setVisible(true);
}
public void sendContent(String content) { this.history.append("\r\n" + content);
}
public static void main(String[] arg) {
new MyWindows(); }
public void listenList() { try { System.out.println(123); ServerSocket ss = new ServerSocket(6000); while (true) { Socket accept = ss.accept(); InputStream inputStream = accept.getInputStream();
System.out.println(321); ObjectInputStream ois = new ObjectInputStream(inputStream); Set<People> st = (Set<People>) ois.readObject();
Object[] array = st.toArray();
TableModel dataModel = new AbstractTableModel() { public int getColumnCount() { return 1; }
public int getRowCount() { return array.length; }
public Object getValueAt(int row, int col) { return ((People) array[row]).getName(); } }; table.setModel(dataModel);
} } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace();
} } }

package com.qq;
import java.io.IOException;import java.io.OutputStream;import java.net.Socket;import java.net.UnknownHostException;
public class ClientSocket { private static Socket ss; static { try { ss = new Socket("localhost", 5566); ss.setKeepAlive(true); } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
public static void clientSend(String str) { // TODO Auto-generated methodstub try { // System.out.println(555555); OutputStream outputStream = ss.getOutputStream(); outputStream.write(str.getBytes()); // outputStream.close(); // ss.close(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }
}
public static void closeClinet() { try { ss.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}package com.qq;
import java.io.IOException;import java.io.ObjectOutputStream;import java.io.OutputStream;import java.net.Socket;import java.util.HashSet;import java.util.Set;
public class ListPeople {
private static Set<People> peple = new HashSet<People>(); public static void add(People pp) { peple.add(pp); flushList(); }

/** * @return the peple */ public static Set<People> getPeple() { return peple; }
public static void flushList() { for (People people : peple) { System.out.println(987); commClient(people.getIp(), people.getPort()); System.out.println(999); } } public static void commClient(String ip, int port) { try { Socket ss = new Socket("localhost", port); OutputStream outputStream = ss.getOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(outputStream); oos.writeObject(peple); oos.flush(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }
}package com.qq;
import java.io.Serializable;
public class People implements Serializable{
private String ip; private String name; private final int port = 6000;

/** * @return the port */ public int getPort() { return port; }

public People() { }

public People(String ip, String name) { super(); this.ip = ip; this.name = name; }

public String getIp() { return ip; } public void setIp(String ip) { this.ip = ip; } public String getName() { return name; } public void setName(String name) { this.name = name; } }package com.qq;
import java.io.ByteArrayInputStream;import java.io.IOException;import java.io.InputStream;import java.net.Socket;import java.net.UnknownHostException;
public class ServerSocket {
public static void main(String[] args) { // TODO Auto-generated method stub
try { java.net.ServerSocket ss = new java.net.ServerSocket(5566);
while (true) {
Socket sk = ss.accept(); new Thread(){ public void run(){ try { System.out.println(11111111); People pp = new People(ss.getInetAddress().getLocalHost().getHostAddress(),ss.getInetAddress().getLocalHost().getHostName()); ListPeople.add(pp); } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }.start(); InputStream inputStream = sk.getInputStream();
byte[] by = new byte[100]; int ln = 0; while ((ln = inputStream.read(by)) != -1) { System.out.println(new String(by));
}
}
} catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java基础