java 网络编程_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > java 网络编程

java 网络编程

 2011/10/20 8:10:45  ileson  http://ileson.iteye.com  我要评论(0)
  • 摘要:前言:学习java网络编程预备知识socket、数据流、线程。前两个都很容易解决,线程这块要下点功夫,还好java对这块有天生的优势。学socket之前要看一下tcp/udp传输层协议,理解起来会有帮助,学数据流之前看一下装饰模式会对你成长大有裨益,学习线程之前还是先买本书吧。呵呵。废话不说了,简单的例子,以激发自己学习兴趣:importjava.io.IOException;importjava.io.PrintWriter;importjava.net.ServerSocket
  • 标签:Java 网络 编程
前言:
学习java 网络编程预备知识 socket、数据流、线程
前两个都很容易解决,线程这块要下点功夫,还好java对这块有天生的优势。
学socket 之前要看一下tcp/udp 传输层协议理解起来会有帮助,学数据流之前看一下 装饰模式 会对你成长大有裨益,学习线程之前还是先买本书吧。呵呵。
废话不说了,简单的例子,以激发自己学习兴趣:

import java.io.IOException;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * 运行方法: 运行些类后,打开浏览器,地址栏中输入“http://127.0.0.1:8888”就可以看到效果!
 * 
 * @author Administrator
 */
public class WebServer {

	public static void main(String[] args) {
		try {
			ServerSocket ss = new ServerSocket(8888);
			while (true) {
				Socket s = ss.accept();
				Service sc = new Service(s);
				Thread th = new Thread(sc);
				th.start();
			}
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

}

/**
 * 
 * 
 * @author Administrator
 * 
 */
class Service implements Runnable {
	private Socket socket = null;

	public Service(Socket s) {
		this.socket = s;//new 对象时传递 Socket 对象
	}

	@Override
	public void run() {
		try {
			PrintWriter pw = new PrintWriter(socket.getOutputStream());
			pw.println("HTTP/1.0 200 OK");
			pw.println("Content-Type:text/html;charset=utf-8");
			pw.println();
			pw.println("<h1>Test Web Server Success!</h1>");
			pw.flush();
			pw.close();
		} catch (IOException e) {
			e.printStackTrace();
		} finally {
			try {
				socket.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}

}


怎么样?
是不是感觉咱们一直用的tomcat 你也会写了?呵呵,继续努力吧,说不定下一代高性能服务器软件由你开发!
发表评论
用户名: 匿名