<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Socket通信的基本步驟

    Posted on 2006-11-26 20:43 黑夜ちつ獨行者 閱讀(1157) 評論(0)  編輯  收藏

    ???1)建立一個服務器ServerSocket,并同時定義好ServerSocket的監聽端口;
    ???2)ServerSocket 調用accept()方法,使之處于阻塞。
    ???3)創建一個客戶機Socket,并設置好服務器的IP和端口。
    ???4)客戶機發出連接請求,建立連接。
    ???5)分別取得服務器和客戶端ServerSocket 和Socket的InputStream和OutputStream.
    ???6)? 利用Socket和ServerSocket進行數據通信。


    ?

    服務器:
    import java.net.*;
    import java.io.*;
    public class MypwServer {

    ?public MypwServer() {
    ??super();
    ??// TODO Auto-generated constructor stub
    ?}
    ??? public void Activate() throws Exception{
    ???
    ??? ??ServerSocket ss = new ServerSocket(5678);
    ??? ?
    ??? ??Socket soc = ss.accept();
    ??? ??
    ??? ?BufferedReader br = new BufferedReader(new InputStreamReader(soc.getInputStream()));
    ??? ?PrintWriter pw = new PrintWriter(soc.getOutputStream());
    ??? ?while(true){
    ??? ??String str = br.readLine();
    ??? ??pw.println(str);
    ??? ??//pw.flush();
    //??? ??if(str.equals("end")){
    //??? ???break;
    //??? ??}
    ?? ?//?System.out.println(str);
    ??? ?}
    ???
    ??? }
    ???
    ??? public static void main(String[] args){
    ??? ?MypwServer mys = new MypwServer();
    ??? ?try {
    ???mys.Activate();
    ??} catch (Exception e) {
    ???// TODO Auto-generated catch block
    ???e.printStackTrace();
    ??}
    ??? ?
    ??? }
    }




    import java.net.*;
    import java.io.*;

    import javax.swing.*;
    import java.awt.event.*;
    import java.awt.*;

    public class Client extends JFrame implements ActionListener
    {
    ?
    ?static String str;
    ?static String sy;
    ?static PrintStream p;
    ?JButton btn,btn1;
    ?JLabel ble;
    ?static JTextArea tex? = new JTextArea();
    ?static JTextArea tex1 = new JTextArea();
    ?public Client()
    ?{
    ??this.setTitle("聊天室");
    ??this.setSize(500,420);
    ??this.setLocation(230,60);
    ??this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    ??this.setResizable(false);
    ??this.setLayout(null);
    ??
    ??Container con = this.getContentPane();
    ??btn? = new JButton("發送");
    ??btn1 = new JButton("關閉");
    ??btn.addActionListener(this);
    ??btn1.addActionListener(this);
    ??btn.setBounds(20,360,60,20);
    ??btn1.setBounds(120,360,60,20);
    ??tex.setBounds(0,0,250,150);
    ??tex1.setBounds(0,180,250,160);
    ??con.add(btn);
    ??con.add(btn1);
    ??con.add(tex);
    ??con.add(tex1);
    ??
    ??this.setVisible(true);
    ?}
    ?
    ?
    ?客戶機:
    ?public static void main(String[] args) throws Exception
    ?{
    ??new Client();
    ??Socket so = new Socket("localhost",5678);
    ??BufferedReader br = new BufferedReader(new InputStreamReader(so.getInputStream()));
    ??
    ??p = new PrintStream(so.getOutputStream());
    ??BufferedReader b = new BufferedReader(new InputStreamReader(System.in));
    ??
    ??while(true)
    ??{
    ???
    ???str = tex1.getText();
    ???
    ???if (str.equals(null))
    ????break;
    ??}
    ??so.close();
    ?}
    ?
    ?
    ?public void actionPerformed(ActionEvent a)
    ?{
    ??Object obj = a.getSource();
    ??
    ??if(obj == btn)
    ??{
    ???p.println(str);
    ???tex.append(str + "\n");
    ???tex1.setText("");
    ??}
    ??
    ??if(obj == btn1)
    ??{
    ???System.exit(0);
    ??}
    ?}
    }


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲色偷偷综合亚洲AV伊人蜜桃| 亚洲不卡中文字幕| 成人免费网站视频www| 国产精品久久久久影院免费| 中文字幕乱码系列免费| 亚洲精品在线视频| 一级视频在线免费观看| 国产亚洲精品自在线观看| 一级毛片免费在线播放| 亚洲精品国自产拍在线观看| 一个人看的www视频免费在线观看| 免费人成视频在线观看不卡| 一级毛片在线播放免费| 亚洲日韩中文字幕日韩在线| 国产乱妇高清无乱码免费| 精品国产亚洲一区二区三区 | 四虎亚洲国产成人久久精品| 在线观看亚洲免费| 亚洲av麻豆aⅴ无码电影| yellow视频免费看| 亚洲国产精品自在在线观看 | 久久永久免费人妻精品下载| 亚洲欧洲日韩国产| 免费无码一区二区三区蜜桃大| 国产亚洲情侣久久精品| 亚洲中文久久精品无码ww16| 日韩精品无码一区二区三区免费 | 亚洲美日韩Av中文字幕无码久久久妻妇 | 亚洲不卡中文字幕| 亚洲Av无码国产情品久久| 免费无码又爽又刺激网站直播| 亚洲成在人线电影天堂色| 国产精品免费视频播放器| 中国一级毛片免费看视频| 亚洲图片激情小说| 亚洲?V无码成人精品区日韩| 日本一道本不卡免费| 亚洲av最新在线观看网址| 亚洲精品中文字幕乱码三区| 99视频在线精品免费观看6| 一区二区三区免费视频播放器|