java网络通信一
来源:互联网 发布:600756浪潮软件腾讯网 编辑:程序博客网 时间:2024/06/06 21:21
下面介绍的是使用Socket实现网络通信的一个简单例子
客户端代码如下:
import java.awt.BorderLayout;import java.awt.EventQueue;import java.io.IOException;import java.net.InetAddress;import java.net.Socket;import java.net.UnknownHostException;import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTextArea;import javax.swing.border.EmptyBorder;public class ClientServerFrame extends JFrame {private JPanel contentPane;private Socket socket;private JTextArea textArea;/** * Launch the application. */public static void main(String[] args) {EventQueue.invokeLater(new Runnable() {public void run() {try {ClientServerFrame frame = new ClientServerFrame();frame.setVisible(true);frame.connection();} catch (Exception e) {e.printStackTrace();}}});}/** * Create the frame. */public ClientServerFrame() {setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(100, 100, 449, 285);contentPane = new JPanel();contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));contentPane.setLayout(new BorderLayout(0, 0));setContentPane(contentPane);JScrollPane scrollPane = new JScrollPane();contentPane.add(scrollPane, BorderLayout.CENTER); textArea = new JTextArea();scrollPane.setViewportView(textArea);} private void connection() throws UnknownHostException { textArea.append("尝试链接服务器\n"); try {socket=new Socket("202.206.212.74", 12345);textArea.append("完成链接\n");InetAddress address=socket.getInetAddress();String inIP=address.getHostAddress();int inPort=socket.getPort();//获得远程服务器地的端口InetAddress lochostAddress=socket.getLocalAddress();String locIp=lochostAddress.getHostAddress();int locPort=socket.getLocalPort();textArea.append("远程服务器地址:"+inIP+"\n");textArea.append("远程服务器端口号:"+inPort+"\n");textArea.append("本地客户端地址:"+locIp+"\n");textArea.append("本地客户端端口号:"+locPort+"\n");} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();} }}
服务器端代码如下:
import java.awt.BorderLayout;import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;import javax.swing.JFrame;import javax.swing.JOptionPane;import javax.swing.JPanel;import javax.swing.JScrollPane;import javax.swing.JTextArea;import javax.swing.border.EmptyBorder;public class ServerSocketFrame extends JFrame {private JPanel contentPane;private JTextArea textArea;private ServerSocket server; private Socket socket;/** * Launch the application. */public static void main(String[] args) {//EventQueue.invokeLater(new Runnable() {//public void run() {//try {ServerSocketFrame frame = new ServerSocketFrame();frame.setVisible(true);frame.getServer();//} catch (Exception e) {//e.printStackTrace();//}//}//});}/** * Create the frame. */public ServerSocketFrame() {setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);setBounds(100, 100, 450, 300);setTitle("服务器");contentPane = new JPanel();contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));contentPane.setLayout(new BorderLayout(0, 0));setContentPane(contentPane);JScrollPane scrollPane = new JScrollPane();contentPane.add(scrollPane, BorderLayout.CENTER);textArea= new JTextArea();scrollPane.setViewportView(textArea);}public void getServer(){try {server=new ServerSocket(12345);//server.setSoTimeout(5000);//设置链接超时时间为5秒textArea.setText("服务器建立成功\n");while(true){textArea.append("等待客户链接...\n");socket=server.accept();textArea.append("客户链接完成...\n");}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();JOptionPane.showMessageDialog(null,"链接超时");}}}
提示:运行时记得改下客户端的ip
阅读全文
0 0
- java网络通信一
- java入门教程:网络通信例子(一)
- Java网络通信学习(一)- Java Socket 编程
- Android网络通信(一)
- socket网络通信<一>
- java网络通信(一)使用http的get方法进行网络通信
- Java网络编程篇一《简单CS通信》
- Java网络编程篇一《简单CS通信》
- Java网络编程之Socket通信(一)
- Java网络通信(一)——BIO
- java 之网络通信
- java网络通信编程
- Java 网络通信
- java实现网络通信
- Java网络通信Socket
- java网络通信总结
- java网络通信
- [Java]网络通信
- @keyframes简介(初级)
- leetcode.array--26. Remove Duplicates from Sorted Array
- 在java中调用python方法
- 随笔杂谈
- ZooKeeper(1)为什么而生的
- java网络通信一
- 【线索化二叉树】中序遍历创建线索二叉树
- SPI学习之:SPI编程
- [BZOJ4326][NOIP2015]运输计划(二分+dfs序+树上差分)
- 树莓派初次使用
- 谷歌解释了如何从谷歌搜索中移除AMP内容
- Extjs6+svg实现类似pdf图片预览页面
- 使用nhmicro使分库分表支持排序后的分页查询
- homework1