CSDN资深粉,请求组织点拨“项目优化”的一个“短连接改长连接”的故障点. IMJava SwingSwingSocket调试 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 老师,学生贴出的代码中的“SocketServer类型的源代码如下: package n_port_package_MyGodWillMyIdeal;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.io.PrintWriter;import java.net.ServerSocket;import java.net.Socket;import java.util.HashMap;import java.util.Map;import org.apache.log4j.Logger;public class SocketServer { private static final Logger LOG = Logger.getLogger(SocketServer.class); private ServerSocket ss = null; private Map<Socket, BufferedReader> rm = new HashMap<Socket, BufferedReader>(); private Map<Socket, PrintWriter> wm = new HashMap<Socket, PrintWriter>(); String MyKey = "CJCO5888CJCO"; BufferedReader br = null; PrintWriter pw = null; public SocketServer(int port) { try { LOG.debug("port:" + port); ss = new ServerSocket(port); LOG.debug("ss == null ? " + (ss == null)); } catch (IOException e) { LOG.error(e); } } public Socket nextSocket() { Socket s = null; try { s = ss.accept(); } catch (IOException e) { } return s; } public String read(Socket s) throws IOException { if (null == (br = rm.get(s))) { br = new BufferedReader(new InputStreamReader(s.getInputStream())); rm.put(s, br); } String str = br.readLine(); str = Systemcrypt.Recovery(str,"CJCO"); return str; } public void write(Socket s, String content) throws IOException { if (null == (pw = wm.get(s))) { pw = new PrintWriter(new OutputStreamWriter(s.getOutputStream())); wm.put(s, pw); } content = Systemcrypt.HloveyRC4(content, "CJCO"); pw.println(content); pw.flush(); } public void getMyResourceBack() { if (pw != null) { pw.close(); } if (br != null) { try { br.close(); } catch (IOException e) { // TODO Auto-generated catch block } } if (rm != null) { rm.clear(); } if (wm != null) { wm.clear(); } if (ss != null) { try { ss.close(); } catch (IOException e) { // TODO Auto-generated catch block } } }} 希望CSDN的老师们,路过的高手们,能够成就学生,这个CSDN,熬了18个月通宵到第二天中午的孩子,为了这个作品,已经调试通畅了9万多行代码的,“CSDN资深粉”,的,最后,一个磨难的克服. 让学生能够风风光光地,光荣地成为一名伟大祖国的开发者!! 学生将在线等候老师的点拨指导. 谢谢伟大的母亲!!CSDN!! soo.write(NodeMyGod_Hand.socketlib.get(LocalMyUserCenterNum), "1丗"+NodeMyGod_Hand.OurSalesCenter);你这句,有输出回车换行么? 尊敬的skgary,老师,学生参考您的建议,把这里的写出语句:添加了一句“\n”的换行符.现在学生的接收端接收到数据后,得到的代码现场如下::希望能够得到尊敬的skgary老师的点拨:上面的图片一中的写出语句现场,服务器写出的数据:“1丗www.baidu.com”到了接收端为什么在图片二中就得到了一个“MyInfo”变量的值为“ "" ”的现场呢?希望得到尊敬的skgary老师的点拨指导,让学生,成为:正果. 回车换行/r/n,是两个字符。另外,建议你用wireshark抓一下包,看一下到底是服务器发出来了,客户端readLine有问题,还是服务器压根没有发出来。 一个SCJP垃圾回收问题 JDialog界面无法更新 java中二叉树删除节点问题(假设只删除一个) JAVA打印问题 java的socket编程中有无类似c中的select函数功能? 即在读数据之前先判断socket是否可读? 读取字符串的问题? 急求一正则表达式!!! 请大家进来把自己知道的有关JAVA的好网站介绍一下,供更多的人方便的找到JAVA资源!谢谢! 线程问题 jar问题 Swing小程序客户端连接服务器端, 客户端不能多开登陆服务器端. 不懂原因, 各位大人帮帮忙. 关于内部类的总结
package n_port_package_MyGodWillMyIdeal;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.HashMap;
import java.util.Map;import org.apache.log4j.Logger;public class SocketServer {
private static final Logger LOG = Logger.getLogger(SocketServer.class);
private ServerSocket ss = null;
private Map<Socket, BufferedReader> rm = new HashMap<Socket, BufferedReader>();
private Map<Socket, PrintWriter> wm = new HashMap<Socket, PrintWriter>();
String MyKey = "CJCO5888CJCO";
BufferedReader br = null;
PrintWriter pw = null; public SocketServer(int port) {
try {
LOG.debug("port:" + port);
ss = new ServerSocket(port);
LOG.debug("ss == null ? " + (ss == null));
} catch (IOException e) {
LOG.error(e);
}
} public Socket nextSocket() {
Socket s = null;
try {
s = ss.accept();
} catch (IOException e) {
} return s;
} public String read(Socket s) throws IOException {
if (null == (br = rm.get(s))) {
br = new BufferedReader(new InputStreamReader(s.getInputStream()));
rm.put(s, br);
}
String str = br.readLine();
str = Systemcrypt.Recovery(str,"CJCO");
return str;
} public void write(Socket s, String content) throws IOException {
if (null == (pw = wm.get(s))) {
pw = new PrintWriter(new OutputStreamWriter(s.getOutputStream()));
wm.put(s, pw);
}
content = Systemcrypt.HloveyRC4(content, "CJCO");
pw.println(content);
pw.flush();
} public void getMyResourceBack() {
if (pw != null) {
pw.close();
}
if (br != null) {
try {
br.close();
} catch (IOException e) {
// TODO Auto-generated catch block
}
}
if (rm != null) {
rm.clear();
}
if (wm != null) {
wm.clear();
}
if (ss != null) {
try {
ss.close();
} catch (IOException e) {
// TODO Auto-generated catch block
}
}
}
}
希望CSDN的老师们,路过的高手们,能够成就学生,这个CSDN,熬了18个月通宵到第二天中午的孩子,为了这个作品,已经调试通畅了9万多行代码的,“CSDN资深粉”,的,最后,一个磨难的克服.
让学生能够风风光光地,光荣地成为一名伟大祖国的开发者!!
学生将在线等候老师的点拨指导.
谢谢伟大的母亲!!CSDN!!
现在学生的接收端接收到数据后,得到的代码现场如下::
希望能够得到尊敬的skgary老师的点拨:
上面的图片一中的写出语句现场,服务器写出的数据:
“1丗www.baidu.com”
到了接收端为什么在图片二中就得到了一个“MyInfo”变量的值为“ "" ”的现场呢?
希望得到尊敬的skgary老师的点拨指导,让学生,成为:正果.