Java Socket驱动关键代码经典剖析

开发 后端
Java Socket驱动一直是我们不变的研究对象,当然在很多方面我们还是需要从源代码中寻找我们想要的答案,下面我们就详细的看看。

Java Socket驱动如何才能变得***?其实只要掌握好相关的代码就可以把相关的一起搞定,下面我们就看看在Java Socket驱动中的关键代码,希望大家有所收获。那么我们首先来看看各种接口上的知识。

由于是基于事件Java Socket驱动的组件,所以MySingleThreadServer1类要继承ActionListener接口,实现该接口唯一的方法actionPerformed(ActionEvent e),即当触发某一事件时,执行该方法内的代码。关键代码如下:

 

  1. public class MySingleThreadServer1 implements 
    ActionListener{  
  2. private Frame f;  
  3. private TextArea ta1 = newTextArea("",5,40,TextArea.
    SCROLLBARS_VERTICAL_ONLY);   
  4. private TextArea ta2 = new TextArea("",16,52,TextArea.
    SCROLLBARS_VERTICAL_ONLY);   
  5. private Button b;  
  6. private String msg ="";  
  7. OutputStream os;  
  8. DataOutputStream dos;  
  9. InputStream is;  
  10. DataInputStream dis;  
  11. ServerSocket ss;  
  12. Socket s;  
  13. public MySingleThreadServer1(){  
  14. f = new Frame("server:小马");  
  15. b = new Button("服务器发送");  
  16. f.setBackground(Color.WHITE);  
  17. b.setBackground(Color.LIGHT_GRAY);  
  18. ta1.setBackground(Color.LIGHT_GRAY);  
  19. ta2.setBackground(Color.LIGHT_GRAY);  
  20. ta2.setEditable(false); //set to only be read  
  21. f.setLayout(new FlowLayout(FlowLayout.LEFT));  
  22. f.add(ta1);  
  23. f.add(b);  
  24. f.add(ta2);  
  25. f.setLocation(200,200);  
  26. f.setSize(400,400);  
  27. f.setResizable(false);  
  28. f.setVisible(true);  
  29. b.addActionListener(this);   
  30. f.addWindowListener(new WindowAdapter(){  
  31. public void windowClosing(WindowEvent e){  
  32. System.exit(0);   
  33. }  
  34. });  
  35. try{  
  36. ss = new ServerSocket(7777);  
  37. s = ss.accept();  
  38. is = s.getInputStream();  
  39. dis = new DataInputStream(is);  
  40. os = s.getOutputStream();  
  41. dos = new DataOutputStream(os);  
  42. serverReadSome(); //接受客户端发来的信息  
  43. }catch(IOException e){  
  44. e.printStackTrace();  
  45. }  
  46. }  
  47. public void actionPerformed(ActionEvent e){ 
    //服务器点击按钮触发时间  
  48. try{  
  49. msg = ta1.getText();  
  50. dos.writeUTF(msg);  
  51. ta2.append("小马:"+msg+"\n");  
  52. ta1.setText("");  
  53. ta1.requestFocus();  
  54. }catch(IOException ioe){  
  55. ioe.printStackTrace();  
  56. }  
  57. }  
  58. public void serverReadSome(){  
  59. try{  
  60. while(true){  
  61. msg = dis.readUTF();  
  62. ta2.append("小徐:"+msg+"\n");  
  63. }  
  64. }catch(IOException ioe){  
  65. ioe.printStackTrace();  
  66. }  
  67. }  
  68. public static void main(String args[]){  
  69. new MySingleThreadServer1();  
  70. }  

 

我把GUI的初始化信息和事件驱动的信息放到了MySingleThreadServer1的构造函数中,使之new一个的时候就初始化该类。以上就是对Java Socket驱动的详细介绍。希望大家有所收获。

【编辑推荐】

  1. Java Socket通讯如何进行客户端的信息通信
  2. Java Socket通讯客户端代码编写教程
  3. Java Socket通讯实际操作手册
  4. java Socket多线程客户端配置方案
  5. java Socket多线程服务器源代码介绍
责任编辑:张浩 来源: TT网络
相关推荐

2010-03-17 14:22:40

Java Socket

2010-03-19 15:01:23

Java Socket

2009-08-27 17:14:36

C# Socket

2010-02-22 16:09:33

WCF宿主

2011-12-15 10:10:33

Javanio

2022-06-02 14:18:23

代码疫苗安全威胁免疫

2010-03-02 13:43:01

WCF事务演示

2010-04-09 13:48:31

Oracle SMON

2010-06-01 12:19:27

SVN分支与合并

2010-03-22 13:25:47

Java Socket

2010-03-19 14:42:29

Java Socket

2009-12-23 13:17:36

Linux设备驱动

2010-03-19 16:51:53

Java Socket

2010-08-31 14:01:48

CSS

2010-03-18 16:49:43

Java Socket

2010-03-16 19:46:14

Java线程函数

2010-03-19 10:31:06

Java Socket

2023-10-26 08:12:37

Java变量类型

2010-01-26 17:53:30

Android代码结构

2010-03-12 14:28:45

Python if语句
点赞
收藏

51CTO技术栈公众号