网络通信---示例

示例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()+"
");
				ta.setSelectionEnd(ta.getText().length());
				//清空
				tf.setText("");
				
			}
		});
	}
	private void connect(){
		ta.append("尝试连接
");
		try {
			socket = new Socket("127.0.0.1", 3306);
			writer = new PrintWriter(socket.getOutputStream(), true);
			ta.append("完成连接
");
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
	public static void main(String[] args) 
	{
		MyClien clien=new MyClien("向服务器发送数据");
		clien.setSize(200,200);//设置窗体大小
		clien.setVisible(true);//将窗体设置可见
		clien.connect();//调用连接方法
		
	}

}

  

原文地址:https://www.cnblogs.com/ipetergo/p/6242474.html