乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Socket簡單實例

       小傅哥 2021-12-13

      Server端

      import java.net.*;
      import java.util.*;
      import java.io.*;
      import java.awt.*;
      import java.awt.event.*;

      public class ChatServer extends Frame
      {
      ?TextArea ta = new TextArea();
      ?public void launchFrame()
      ?{
      ??add(ta, BorderLayout.CENTER);
      ??setBounds(0,0,200,300);?
      ??this.addWindowListener(
      ???new WindowAdapter()
      ???{
      ????public void windowClosing(WindowEvent e)
      ????{
      ?????System.exit(0);
      ????}
      ???}
      ???);
      ??setVisible(true);
      ?}
      ?
      ?ServerSocket server = null;
      ?Collection cClient = new ArrayList();
      ?
      ?public ChatServer(int port) throws Exception
      ?{
      ??server = new ServerSocket(port);
      ??launchFrame();
      ?}
      ?
      ?public void startServer() throws Exception
      ?{
      ??while(true)
      ??{
      ???Socket s = server.accept();
      ???cClient.add( new ClientConn(s) );
      ???ta.append("NEW-CLIENT " + s.getInetAddress() + ":" + s.getPort());
      ???ta.append("\n" + "CLIENTS-COUNT: " + cClient.size() + "\n\n");
      ??}
      ?}
      ?
      ?class ClientConn implements Runnable
      ?{
      ??Socket s = null;
      ??public ClientConn(Socket s)
      ??{
      ???this.s = s;
      ???(new Thread(this)).start();
      ??}
      ??
      ??public void send(String str) throws IOException
      ??{
      ???DataOutputStream dos = new DataOutputStream(s.getOutputStream());
      ???dos.writeUTF(str);
      ??}
      ??
      ??public void dispose()
      ??{
      ???try {
      ????if (s != null) s.close();
      ????cClient.remove(this);
      ????ta.append("A client out! \n");
      ????ta.append("CLIENT-COUNT: " + cClient.size() + "\n\n");
      ???}
      ???catch (Exception e)
      ???{
      ????e.printStackTrace();
      ???}
      ??}
      ??
      ??public void run()
      ??{
      ???try {
      ????
      ????DataInputStream dis = new DataInputStream(s.getInputStream());
      ????String str = dis.readUTF();
      ????while(str != null && str.length() !=0)
      ????{
      ?????System.out.println(str);
      ?????for(Iterator it = cClient.iterator(); it.hasNext(); )
      ?????{
      ??????ClientConn cc = (ClientConn)it.next();
      ??????if(this != cc)
      ??????{
      ???????cc.send(str);
      ??????}
      ?????}
      ?????str = dis.readUTF();
      ?????//send(str);
      ????}
      ????this.dispose();
      ???}
      ???catch (Exception e)
      ???{
      ????System.out.println("client quit");
      ????this.dispose();
      ???}
      ???
      ??}
      ?}
      ?
      ?public static void main(String[] args) throws Exception
      ?{
      ??ChatServer cs = new ChatServer(8888);
      ??cs.startServer();
      ?}
      }

      Client端

      import java.io.*;
      import java.net.*;
      import java.awt.*;
      import java.awt.event.*;

      public class ChatClient extends Frame
      {
      ?TextArea ta = new TextArea();
      ?TextField tf = new TextField();
      ?public void launchFrame() throws Exception
      ?{
      ??this.add(ta, BorderLayout.CENTER);
      ??this.add(tf, BorderLayout.SOUTH);
      ??tf.addActionListener(
      ???new ActionListener()
      ???{
      ????public void actionPerformed(ActionEvent ae)
      ????{
      ?????try {
      ??????String sSend = tf.getText();
      ??????if(sSend.trim().length() == 0) return;
      ??????ChatClient.this.send(sSend);
      ??????tf.setText("");
      ??????ta.append(sSend + "\n");
      ?????}
      ?????catch (Exception e) { e.printStackTrace(); }
      ????}
      ???}
      ???);
      ??
      ??this.addWindowListener(
      ???new WindowAdapter()
      ???{
      ????public void windowClosing(WindowEvent e)
      ????{
      ?????System.exit(0);
      ????}
      ???}
      ???);
      ??setBounds(300,300,300,400);
      ??setVisible(true);
      ??tf.requestFocus();
      ?}
      ?
      ?Socket s = null;
      ?
      ?public ChatClient() throws Exception
      ?{
      ??s = new Socket("127.0.0.1", 8888);
      ??launchFrame();
      ??(new Thread(new ReceiveThread())).start();
      ?}
      ?
      ?public void send(String str) throws Exception
      ?{
      ??DataOutputStream dos = new DataOutputStream(s.getOutputStream());
      ??dos.writeUTF(str);
      ?}
      ?
      ?public void disconnect() throws Exception
      ?{
      ??s.close();
      ?}
      ?
      ?public static void main(String[] args) throws Exception
      ?{
      ??BufferedReader br = new BufferedReader (
      ????????new InputStreamReader(System.in));
      ??ChatClient cc = new ChatClient();
      ??String str = br.readLine();
      ??while(str != null && str.length() != 0)
      ??{
      ???cc.send(str);
      ???str = br.readLine();
      ??}
      ??cc.disconnect();
      ?}
      ?
      ?class ReceiveThread implements Runnable
      ?{
      ??public void run()
      ??{
      ???if(s == null) return;
      ???try {
      ????DataInputStream dis = new DataInputStream(s.getInputStream());
      ????String str = dis.readUTF();
      ????while (str != null && str.length() != 0)
      ????{
      ?????//System.out.println(str);
      ?????ChatClient.this.ta.append(str + "\n");
      ?????str = dis.readUTF();
      ????}
      ???}
      ???catch (Exception e)
      ???{
      ????e.printStackTrace();
      ???}
      ???
      ??}
      ?}
      }

        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多