java中套接字,如何在java中获得一个开放的套接字?
在
Java中,我如何获得一个开放的套接字?我有2个JFrame;在第一个JFrame中,我打开了Client socket的连接.在同一个JFrame中,我创建了另一个JFrame(JFrame2)的实例.现在我想从JFrame1获取相同的Socket到JFrame2继续与我的服务器Socket交谈:
login.java(First JFrame)
try {
cliente = new Socket("localhost", 4444);
salida = new ObjectOutputStream(cliente.getOutputStream());
entrada = new ObjectInputStream(cliente.getInputStream());
} catch (UnknownHostException e) {
System.err.println("Don't know about host: localhost.");
System.exit(1);
} catch (IOException e) {
System.err.println("Couldn't get I/O for the connection to: localhost.");
System.exit(1);
}
login.java(第一个Jframe)
try {
while ((mensaje_entrada=(String)entrada.readObject()) != null) {
try {
me=td.encrypt(mensaje_entrada);
m2=td.decrypt(me);
} catch (Exception ex) {
Logger.getLogger(Login.class.getName()).log(Level.SEVERE, null, ex);
}
System.out.println("e:"+ me);
System.out.println("de:"+ m2);
System.out.println(mensaje_entrada);
if(mensaje_entrada.equals("20")){
mensaje_salida=""+txt_usuario.getText()+","+txt_password.getText();
System.out.println(mensaje_salida);
salida.writeObject( mensaje_salida );
salida.flush();
mensaje_entrada=(String)entrada.readObject();
System.out.println(mensaje_entrada);
if(mensaje_entrada.equals("1")){
m.setLocationRelativeTo(null);
m.setVisible(true);
//JOptionPane.showMessageDialog(this,"Funciona!!");
break;
}else if(mensaje_entrada.equals("2")){
JOptionPane.showMessageDialog(this,"Usuario o contraseña incorrecta!","Error!",JOptionPane.ERROR_MESSAGE);
break;
}
}
}
} catch (EOFException ex) { //This exception will be caught when EOF is reached
System.out.println("End of file reached.");
} catch (ClassNotFoundException ex) {
JOptionPane.showMessageDialog(this,ex.getMessage());
} catch (IOException ex) {
JOptionPane.showMessageDialog(this,ex.getMessage());
}
最佳答案 请看一下
Singleton的实现
有了它,您可以从任何地方以优雅的方式访问您的对象,并保证它将被唯一地实例化.
遵循单例方法的简单实现:
package foo.bar;
import java.io.IOException;
import java.net.Socket;
public final class MySingletonSocket extends Socket {
private static Socket clientSocket;
static {
try {
clientSocket = new MySingletonSocket("localhost", 4444);
} catch (Exception e) {
e.printStackTrace();
}
}
private MySingletonSocket(final String address, final int port) throws IOException {
super(address, port);
}
public static final Socket getInstance() {
return clientSocket;
}
}
从JFrame1您可以访问它,如:
MySingletonSocket.getInstance()
从JFrame2,您可以以相同的方式访问它.
java中套接字,如何在java中获得一个开放的套接字?相关推荐
- java 线程中创建线程_如何在Java 8中创建线程安全的ConcurrentHashSet?
java 线程中创建线程 在JDK 8之前,还没有办法在Java中创建大型的线程安全的ConcurrentHashSet. java.util.concurrent包甚至没有一个名为Concurren ...
- java 判断是否换行_如何在java中检测换行符
是的,我已经阅读了一些关于换行符的其他帖子,但他们没有帮助我.如何在java中检测换行符 我的Java程序应该读取一个.PHP文件,并将源代码分成逐行格式.问题是我似乎无法区分一个换行符和另一个换行符 ...
- java 中覆 写tostring_如何在Java中正确覆盖toString()?
如何在Java中正确覆盖toString()? 听起来有点愚蠢,但我需要帮助我的toString()方法,这是非常irking. 我尝试在网上查找,因为toString是搞砸了,"没有找到K ...
- java中转json字符串_如何在Java中转义JSON字符串-Eclipse IDE技巧
java中转json字符串 在Java应用程序中工作或进行JSON解析时,通常很常见的做法是从某些资源(例如RESTful Web服务)中复制粘贴JSON字符串,然后使用Jackson库解析JSON. ...
- java整数的因式分解_如何在Java中找到整数的质数-因式分解
java整数的因式分解 编程课程中的常见家庭作业/任务之一是关于Prime Factorization. 要求您编写一个程序以找到给定整数的素因子 . 一个数字的素数因子是将精确地除以给定数字的所有素 ...
- java如何实取随机数_java - 如何在Kotlin中获取随机数?
java - 如何在Kotlin中获取随机数? 可以在2个参数之间返回随机整数的通用方法,如ruby,可以使用rand(0..n). 有什么建议吗? 16个解决方案 208 votes 我的建议是In ...
- java swing 列表框_如何在Swing中使用列表框?
下面的示例展示了如何在Java Swing应用程序中使用标准列表框. 使用以下API - JList - 创建标准列表. JList.setSelectedIndex(index); - 选择项目. ...
- java中求组快速排序函数,如何在Java中实现快速排序?
成为专业认证的快速排序是一种分而治之的算法.在分治算法的设计范式中,我们先递归地将问题分解成子问题,然后再求解子问题,最后将求解结果进行组合得到最终结果.在本文中,我们将重点讨论Java中的快速排序本 ...
- Java poi 列移动_如何在java xssf中移動列poi
如何將現有列數據和格式化到Apache POI中的下一列並將下一列移到右側.如何在java xssf中移動列poi 我試過了. 讓說我的代碼是這樣... XSSFCell oldCell = work ...
最新文章
- SVM: 实际中使用SVM的一些问题
- SAPABAP性能优化技巧—使用二分查找(Binary Search)选项
- sqlmap (--os-shell)的使用
- 月薪2w的00后女财务,靠这套报表模板征服了老板
- NFV-Bench A Dependability Benchmark for Network Function Virtualization Systems
- 2013年最新最热播的电影 合集
- .Net之美读书笔记15
- 品高工作流 - 基于InfoPath的自定义表单设计教程
- HTML5模拟衣服撕扯动画
- 计算机视觉实战(七)图像金字塔与轮廓检测
- C# winform 开发总结 -- 【持续更新】
- C#之AutoCAD图层样式定义
- CheckBox和ListView的结合使用
- K8S使用habor作为私有仓库
- 阿里云服务器密码忘了怎么修改
- YARN中的任务队列调度器-容量调度器(Capacity Scheduler)
- app:processDebugManifest 错误
- 金融学经济学字母含义
- python棋盘放麦粒_棋盘上的麦粒有什么问题?
- [zz]busycai的找工之路
热门文章
- 如何安装Gradle
- Windows下查看wifi密码的命令
- 阿里云服务器如何创建快照备份数据
- Linux 脚本文件中开头的#!/bin/bash和#!/bin/sh是什么意思
- MacBook/MacOS/Mac OS 关于启动/停止/重启服务(进程/程序)的命令
- 【开源项目】Socket服务端与客户端传输视频文件
- 老司机找BUG指南,赶紧拿走。。
- php实现防止sql注入的通用方法,PHP实现防止sql注入的通用方法
- 获取linux详细信息,Linux 获取网口详细信息
- html5新变化,HTML5的新变化,分享