网络通信---示例
示例1:Address
package com.etc.jichu; import java.net.InetAddress; public class Address { public static void main(String[] args) { InetAddress ip; try { ip = InetAddress.getLocalHost(); String localname = ip.getHostName(); String localip = ip.getHostAddress(); System.out.println("本机名:" + localname); System.out.println("本机IP地址:" + localip); } catch (Exception e) { e.printStackTrace(); } } }
示例2:MyTcp package com.etc.jichu; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.ServerSocket; import java.net.Socket; public class MyTcp { private BufferedReader reader; private ServerSocket server; private Socket socket; void getserver() { try { server = new ServerSocket(49211); System.out.println("服务器套接字已经创建成功!"); while (true) { System.out.println("等待客户机的连接"); socket = server.accept(); reader = new BufferedReader(new InputStreamReader(socket .getInputStream())); getClientMessage(); } } catch (Exception e) { e.printStackTrace(); } } private void getClientMessage() { try { while (true) { System.out.println("客户机:" + reader.readLine()); } } catch (Exception e) { e.printStackTrace(); } try { if (reader != null) { reader.close(); } if (socket != null) { socket.close(); } } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { new MyTcp().getserver(); } }
示例3:MyClien package com.etc.jichu; import java.awt.BorderLayout; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.PrintWriter; import java.net.Socket; import javax.swing.JFrame; import javax.swing.JScrollPane; import javax.swing.JTextArea; import javax.swing.JTextField; import javax.swing.border.BevelBorder; public class MyClien extends JFrame { private PrintWriter writer; Socket socket; private JTextArea ta=new JTextArea(); private JTextField tf=new JTextField(); Container cc; public MyClien(String title) { super(title); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); cc=this.getContentPane(); final JScrollPane scrollPane=new JScrollPane(); scrollPane.setBorder(new BevelBorder(BevelBorder.RAISED)); getContentPane().add(scrollPane,BorderLayout.CENTER); scrollPane.setViewportView(ta); cc.add(tf, "South"); tf.addActionListener(new ActionListener() { //绑定事件 public void actionPerformed(ActionEvent e) { writer.print(tf.getText());//写入流 //显示 ta.append(tf.getText()+"\n"); ta.setSelectionEnd(ta.getText().length()); //清空 tf.setText(""); } }); } private void connect(){ ta.append("尝试连接\n"); try { socket = new Socket("127.0.0.1", 3306); writer = new PrintWriter(socket.getOutputStream(), true); ta.append("完成连接\n"); } catch (Exception e) { e.printStackTrace(); } } public static void main(String[] args) { MyClien clien=new MyClien("向服务器发送数据"); clien.setSize(200,200);//设置窗体大小 clien.setVisible(true);//将窗体设置可见 clien.connect();//调用连接方法 } }