解决方案 »

  1.   

    老师,学生贴出的代码中的“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!!
      

  2.   

    soo.write(NodeMyGod_Hand.socketlib.get(LocalMyUserCenterNum), "1丗"+NodeMyGod_Hand.OurSalesCenter);你这句,有输出回车换行么?
      

  3.   

    尊敬的skgary,老师,学生参考您的建议,把这里的写出语句:添加了一句“\n”的换行符.
    现在学生的接收端接收到数据后,得到的代码现场如下::
    希望能够得到尊敬的skgary老师的点拨:
    上面的图片一中的写出语句现场,服务器写出的数据:
    “1丗www.baidu.com”
    到了接收端为什么在图片二中就得到了一个“MyInfo”变量的值为“   ""   ”的现场呢?
    希望得到尊敬的skgary老师的点拨指导,让学生,成为:正果.
      

  4.   

    回车换行/r/n,是两个字符。另外,建议你用wireshark抓一下包,看一下到底是服务器发出来了,客户端readLine有问题,还是服务器压根没有发出来。