<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 黑夜ちつ獨行者 閱讀(1158) 評論(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);
    ??}
    ?}
    }


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


    網站導航:
     
    主站蜘蛛池模板: 成人免费视频77777| 精品亚洲成AV人在线观看| 两性刺激生活片免费视频| 好男人资源在线WWW免费| 亚洲精品123区在线观看| 亚洲动漫精品无码av天堂| 亚洲国产高清精品线久久| 欧美a级成人网站免费| 95老司机免费福利| 中文日本免费高清| 三级片免费观看久久| 亚洲色偷偷综合亚洲av78| 亚洲国产中文在线视频| 亚洲AV人无码激艳猛片| 伊人婷婷综合缴情亚洲五月| 波多野结衣中文一区二区免费| 国产精品成人免费一区二区 | 嫩草影院在线免费观看| 99精品在线免费观看| 一个人免费视频观看在线www| 一本一道dvd在线观看免费视频| 亚洲αⅴ无码乱码在线观看性色| 国产.亚洲.欧洲在线| 亚洲一级毛片免费观看| 亚洲国产美女精品久久| 亚洲美女免费视频| 亚洲黄色一级毛片| 亚洲短视频在线观看| 久久久久久亚洲精品成人| 亚洲成熟xxxxx电影| 亚洲小视频在线观看| 亚洲影院在线观看| 久久久久亚洲AV无码网站| 精品日韩亚洲AV无码一区二区三区 | 免费人成在线观看网站视频| 日韩免费高清视频网站| 日日夜夜精品免费视频| 国产又大又黑又粗免费视频| 又粗又大又猛又爽免费视频| 亚洲成人国产精品| 亚洲老妈激情一区二区三区|