网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Java
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.让所有初学者明白 JAVA 程序的结.
.JavaServer Faces (JSF) vs Stru.
.Struts源码的学习之配置模块初始.
.别人观点:如何才算掌握Java.
.深入浅出基于Java的责任链模式.
.MVC 构架学习之渐行渐进(二).
.使用Java Swing 创建一个XML编辑.
.Java对象序列化(整理篇).
.一步一步教你用JS和INF编辑注册表.
.ITS-CMS 2.0 URL设计构想.
.为测试Java应用程序生成证书链.
.连接池管理的代码.
.步入J2EE架构和过程基础教程(1).
.利用JAVA生成JPG缩略图.
.关于扰乱器与反编译.
.Java核心代码例程之:DateFormat.
.提高Java程序内存效率.
.全面挖掘Java Excel API 使用方法.
.类和对象的兼容性.
.基于JDBC的数据库连接池技术研究.

关于java socket的问题

发表日期:2008-1-5



要做成这样的:

客户端访问服务器ip和port,服务器马上发送welcome消息,然后客户端根据welcome消息判定是否是想要连接的服务器和端口,

假如是则开始发送数据,数据包括开始和结束的校验。服务器端发送welcome消息后开始接收数据,直到结束。蛮简单的事TMD我怎么就搞不定。

CLIENT:

package com.ces.mytest.socket;

import Java.net.*;import java.io.*;

public class ClientThread extends Thread {    private String ipStr = "";    private int port;    public ClientThread(String ipStr, int port) {        this.ipStr = ipStr;        this.port = port;    }

    public void run() {        try {            Socket client = new Socket(ipStr, port);            BufferedReader read = new BufferedReader(new InputStreamReader(client.getInputStream()));            BufferedWriter write = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));

            if ("欢迎".equals(read.readLine())) {                System.out.println("校验正确");

                write.write("开始");                write.newLine();                write.write("数据");                write.newLine();                write.write("结束");                write.newLine();                write.flush();

                System.out.println("发送完毕");            }

            write.close();            read.close();            client.close();        } catch (UnknownHostException ex) {            ex.printStackTrace();        } catch (IOException ex) {            ex.printStackTrace();        }    }

    public static void main(String[] args) {        Thread client = new ClientThread("127.0.0.1",10020);        client.start();    }

}

SERVER:

package com.ces.mytest.socket;

import java.net.*;import java.io.*;

public class ServerThread extends Thread {    private int port;    public ServerThread(int port) {        this.port = port;    }

    private boolean stop = false;

    public void run() {        try {            ServerSocket server = new ServerSocket(port);            while (!stop) {                Socket client = server.accept();                BufferedReader read = new BufferedReader(new InputStreamReader(client.getInputStream()));                BufferedWriter write = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));                                System.out.println("发送欢迎信息");                                write.write("欢迎");                write.flush();

//                String lineStr = read.readLine();//                if ("开始".equals(lineStr)) {//                    System.out.println("开始接受数据!");////                    while (true) {//                        lineStr = read.readLine();//                        if ("结束".equals(lineStr)) {//                            break;//                        } else {//                            System.out.println("数据是" + lineStr);//                        }//                    }//                }

                write.close();                read.close();                client.close();            }

        } catch (IOException ex) {            ex.printStackTrace();        }    }

    public static void main(String[] args) {        Thread server = new ServerThread(10020);        server.start();    }

    public boolean isStop() {        return stop;    }

    pu
上一篇:关于cachedRowSet的一篇文章(java.sun.com) 人气:886
下一篇:关于JAVA import 的一个小问题 人气:1392
浏览全部Java的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐