Android之socket网络编程
Android之socket网络编程
最近在学习Android关于网络编程的知识,在这个过程中也遇到了不少问题,这篇文章是android基于socket的网络编程,能让人更好的了解网络编程底层的相关知识。其他话就不说了,直接看代码吧。
服务器端采用的是图形化界面:
- package com.app.qrs;
- import java.awt.Container;
- import java.awt.event.ActionEvent;
- import java.awt.event.ActionListener;
- import java.io.OutputStream;
- import java.net.InetAddress;
- import java.net.ServerSocket;
- import java.net.Socket;
- import javax.swing.JButton;
- import javax.swing.JFrame;
- import javax.swing.JLabel;
- import javax.swing.JPanel;
- import javax.swing.JTextField;
- class Myserver extends JFrame implements ActionListener{
- public static final String Server_Message = "服务器发布的信息:";
- private JTextField messagetext;
- private JButton ok;
- public static String servermsg = "hello android Client! 我是该程序的程序员:吴伟栋!";
- public Myserver()
- {
- super("信息发布");
- Container c = getContentPane();
- JPanel panel = new JPanel();
- JLabel lablename = new JLabel(Server_Message);
- messagetext = new JTextField(30);
- messagetext.addActionListener(this);
- panel.add(lablename);
- panel.add(messagetext);
- ok = new JButton("确定");
- ok.addActionListener(this);
- panel.add(ok);
- c.add(panel);
- }
- public static ServerSocket server;
- /**
- * @param args
- */
- public static void main(String[] args) {
- Myserver ms = new Myserver();
- ms.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
- ms.setSize(280, 160);
- ms.setVisible(true);
- try
- {
- server = new ServerSocket(10000);
- System.out.println(InetAddress.getLocalHost());
- while(true)
- {
- System.out.println("------------->"+servermsg);
- Socket socket = server.accept();
- OutputStream out = socket.getOutputStream();
- String msg = servermsg;
- out.write(msg.getBytes());
- socket.close();
- }
- }catch(Exception e)
- {
- e.printStackTrace();
- }
- // TODO Auto-generated method stub
- }
- @Override
- public void actionPerformed(ActionEvent e) {
- /*
- *
- * 数据缓存解决了客服端存在中间一段黑屏的效果
- * 即在客服端第一次点击刷新按钮时会有黑屏效果
- * 第二次才能出现信息。
- * 但在客服端还是存在bug(服务器未更新信息,客服端多次刷新的时候)
- * **/
- String servermsgbuffer = new String();
- servermsgbuffer=messagetext.getText();
- servermsg = servermsgbuffer;
- }
- }
|
评论暂时关闭