The professional version has not yet begun (04-12-17) Classmates in the Three Gorges University can go to http://ftp.ctgu.edu.cn/soft/down.php?act=up&id=2800 download / * * Date: 2004-11 -29 Author: zhangyu6050; * email: Dazuibazhangyu@eyou.com * Ctgu (China Three Groges University) * Todo: Server Main Program * Bugs: * / Import util.dateutil; import java.Net. *; Import java.awt. *; import java.awt.event.windowadapter; import java.awt.event.windowevent; import java.io. *;
Import javax.swing. *; import java.applet. *; import java.util. *; public class chatserver {private int port = 1775; // port number private serversocket servers; // server set PUBLIC STATIC BROADCAST BROAD // Communication special class, single mode design Private jtextarea display; / ** * Initialization * / public chatrserver () {setUpGUI (); RunServer ();} public void runserver () {Try {servers = new Serversocket (port) ;} Catch (IOException E2) {showMSG ("In the specified port cannot be listening" E2.GetMessage ());} try {broad = Broadcast.getinstence (); // Prepare while (true) {showmsg ("Waiting Access ... "); socket socket = servers.accept (); // Record login time string s = dateutil.format (Calendar.GetInstance (), DateutIl.ymdhms) " / r "; showMSG (SHOWMSG) "Access time:" s); // instantiate a proxy angent = new Angent (Socket); // instantiate a service thread serverthread serverthread = new serverthread (angent); serverthread.start (); Servers.close ();}} catch (ooException e) {showmsg (E.GetMessage () "server exception is going to close");}} public void closeserver ()}} public void closeserver () {system.out.print ("The server is closing! "); Try {servers.close ();} catch (ioException e) {system.err.println (E.GetMessage () " / n server can't turn off "); E.PrintStackTrace ();}} // set up a Frame and return it private JFrame setupGui () {// setup a Frame and set title JFrame jf = new JFrame (); port = Integer.parseInt (JOptionPane.showInputDialog ( "input port please:")); jf.setTitle ("Server");
// get the pane of the Frame Container pane = jf.getContentPane (); // set up modules display = new JTextArea (); // display region JLabel sendLable = new JLabel ( "enter msg"); JTextField sysBroadcast = new JTextField (20); // System broadcast sends jPanel sendpane = new jPanel (); sendpane.add (sendPane.Add (SendPane.Add (Sysbroadcast); Pane.Add (Sendpane, BorderLayout.North); Pane.Add ("center", new JScrollPane (display)); jf.setSize (400,300); jf.setVisible (true); jf.addWindowListener (new WindowAdapter () {public void windowClosing (WindowEvent e) {System.exit (0);}}); return JF;} void showmsg (string s) {Display.Append (S "/ n");} public static void main (string args []) {new chatserver ();}}