- 浏览: 457148 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (272)
- java基础 (59)
- struts (8)
- spring (8)
- 数据库 (8)
- java 网络编程 (29)
- hibernate (3)
- JavaScript (10)
- 日志管理 (2)
- jsp (4)
- servlet (7)
- xml (4)
- ajax (2)
- web service (4)
- 算法与数据结构 (13)
- java 反射机制 (11)
- java 泛型 (3)
- java I/O (8)
- java 线程 (12)
- JavaEE (6)
- java解惑 (33)
- 工具 (5)
- MyEclipse编程实践 (1)
- OSGI (2)
- 设计模式 (9)
- 正则表达式 (0)
- EJB (3)
- Ubuntu linux (6)
- Android (1)
- web前端 (2)
- 找工作 (1)
- SCA (1)
- maven (1)
- 缓存 (1)
- json (1)
- javamail (1)
- 工作笔记 (2)
最新评论
-
霜花似雪:
博主可以分享一下源码吗?
使用maven构建web项目实例 -
王庆波-行:
很好的demo!
memcache使用实例 -
surpassno:
大写的牛逼
java可视化显示内存使用情况 -
zhulin0504:
怎么访问NetEcho.html页面呀???
applet与servlet的网络通信 -
springdata:
java多线程实例demo源代码下载:http://www.z ...
java多线程例子
1,通用服务器代码:
可以直接用telnet客户端测试
或者测试的客户端程序:
2,利用1所写的基类,实现一个特殊的server
telnet端输入的字母,返回为大写的字母
package multiThread; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; //通用多线程服务器????????????????? public class MTServerBase extends Thread { // client protected Socket socket; // Here is the thread that does the work // Presumably you'll override this in the subclass public void run() { try { String s = "I'm a test server. Goodbye"; socket.getOutputStream().write(s.getBytes()); //发送给客户端 byte[] b = new byte[40]; //读客户端 socket.getInputStream().read(b); System.out.println("服务器端显示:"+new String(b)); socket.close(); } catch (Exception e) { System.out.println(e); } } public static void startServer(int port, Class clobj) { ServerSocket ssock; try { ssock = new ServerSocket(port); System.out.println("Listening..."); while (true) { Socket esock = null; try { esock = ssock.accept(); System.out.println("connected..."); // create new MTServerBase or subclass MTServerBase t = (MTServerBase) clobj.newInstance(); t.socket = esock; t.start(); } catch (Exception e) { try { esock.close(); } catch (Exception ec) { } } } } catch (IOException e) { } // if we return something is wrong! } //test main simple public static void main(String[] args) { System.out.println("Starting server on port 1234"); MTServerBase.startServer(1234, MTServerBase.class); } }
可以直接用telnet客户端测试
或者测试的客户端程序:
package multiThread; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; import java.net.UnknownHostException; public class Client { public static void main(String[] args) throws UnknownHostException, IOException { Socket socket = new Socket("localhost",1234); InputStream is = socket.getInputStream(); OutputStream out = socket.getOutputStream(); byte[] b = new byte[40]; is.read(b); String data = new String(b); System.out.println("客户端显示:"+data); out.write(("from client:"+data).getBytes()); //返回服务器 is.close(); socket.close(); } }
2,利用1所写的基类,实现一个特殊的server
package multiThread; import java.io.*; //使用基类组成另一个服务器的例子,将基类MTServerBase的main函数注释掉 public class UCServer extends MTServerBase { //socket是父类中继承来的,代表客户端 public void run() { try { InputStream is = socket.getInputStream(); OutputStream os = socket.getOutputStream(); while (true) { char c = (char) is.read(); // end on Control+C or Control+D if (c == '\003' || c == '\004') break; os.write(Character.toUpperCase(c)); //为啥是返回telnet端,应该是服务器端才是啊???? } socket.close(); } catch (Exception e) { System.out.println(e); } } public static void main(String[] args) {//参数为端口号 int n = Integer.parseInt(args[0]); System.out.println("Starting server on port " + n); startServer(n, UCServer.class); } }
telnet端输入的字母,返回为大写的字母
发表评论
-
计算机网络知识
2011-06-01 16:19 757一个http请求的详细过程 我们来看当我们在浏览器输入htt ... -
java udp socket实例
2010-12-06 12:28 7088客户端: package udp; import jav ... -
线程池实现tcp socket
2010-12-01 17:23 2842前面的程序,当一个客户端请求到来时,服务器端就会临时性的创建一 ... -
tcp socket实例(改进)
2010-12-01 16:16 1562上一篇的程序服务器端只能接受一个客户端请求,本篇改为模拟多客户 ... -
java tcp socket实例
2010-12-01 13:44 1592网络编程的基本模型就是客户端到服务器端模型,一段必须提供一个固 ... -
telnet协议(转)
2010-10-14 17:17 1105我们知道Telnet服务器软 ... -
whois协议(转)
2010-10-14 14:28 1329当我们预备建立一个Web站点,就必须向域名登记机构申请一个In ... -
java 网络协议(一)UDP
2010-10-14 09:24 1428UDP测试程序,无需建立连接 package udp; ... -
java 网络协议(一)Tcp
2010-10-14 08:52 50991,简化的服务器端程序 package tcp; imp ... -
java 网络协议(一)InetAddress和Socket(含源码)
2010-10-14 08:24 18541,ip地址和主机名互换 package getip; ... -
ftp协议2(转)
2010-10-12 16:26 933FTP协议工作原理 FTP有 ... -
ftp协议(转)
2010-10-12 16:21 1230ftp协议 FTP协议将使用两 ... -
SMTP服务协议(转)
2010-10-11 15:31 1208SMTP服务概述 鉴于本课程的默认读者群是那些对Inter ... -
利用socket发送接收邮件(转)
2010-10-11 15:18 4148这是在网上摘的,执行接收邮件出现:530 Authentica ... -
jdk6.0从入门到精通-----chapter5网络编程 新I/O(含源码下载)
2010-09-21 10:13 1389本例向用户通过参数指定的主机端口发送一段请求报文,然后读取和打 ... -
jdk6.0从入门到精通-----chapter6--http
2010-09-14 16:32 906用httpconnection进行文件下载,建立一般的jav ... -
java自学===Filter类的应用,验证用户
2010-09-14 14:37 902Filter类 package com; import ... -
java自学===Filter类的应用,网站数量统计
2010-09-14 12:31 1901package filterStatistic; imp ... -
jdk6.0从入门到精通-----chapter5网络编程 udp套接字
2010-09-12 13:46 1121用到的主要类DatagramPacket,DatagramSo ... -
jdk6.0从入门到精通-----chapter5网络编程 tcp连接池
2010-09-10 18:07 953package pool; import java.ne ...
相关推荐
用j2se写的一个简单的聊天系统,写了客户端和服务器。用到了socket,流读写技术,服务器端采用了多线程等技术。基本上涵盖了j2se中所有学到的技术,非常适合学习了j2se的初学者练习使用。
文件传输是应用层中的一个主要协议,负责将主机中文件从一台机器送到另一台机器。传输协议采用客户、服务器的工作模式...利用Java网络编程技术、多线程技术、数据流等技术实现客户端与服务器端的双向各种信息的传递 。
一个Socket实例代表了TCP连接的一个客户端,而一个ServerSocket实例代表了TCP连接的一个服务器端,一般在TCP Socket编程中,客户端有多个,而服务器端只有一个,客户端TCP向服务器端TCP发送连接请求,服务器端的...
:文章讨论了多线程并发服务器设计与实现所涉及到的相关知识和编程基础,并用Java实现了一个围棋和Aft-棋 多线程并发服务器。五子棋服务器提供的服务是客户端(人)和服务器端(机器)对弈;围棋服务器是为两客户对弈...
第一章 Java网络编程的原因 13 网络程序的功能 14 安全性 27 等等!还有更多! 29 第二章 基本网络概念 30 网络 30 网络的分层 32 IP、TCP和UDP 37 Internet 40 客户/服务器模型 46 Internet标准 47 第三...
第一章 Java网络编程的原因 13 网络程序的功能 14 安全性 27 等等!还有更多! 29 第二章 基本网络概念 30 网络 30 网络的分层 32 IP、TCP和UDP 37 Internet 40 客户/服务器模型 46 Internet标准 47 第三...
第一章 Java网络编程的原因 13 网络程序的功能 14 安全性 27 等等!还有更多! 29 第二章 基本网络概念 30 网络 30 网络的分层 32 IP、TCP和UDP 37 Internet 40 客户/服务器模型 46 Internet标准 47 第三...
第一章 Java网络编程的原因 13 网络程序的功能 14 安全性 27 等等!还有更多! 29 第二章 基本网络概念 30 网络 30 网络的分层 32 IP、TCP和UDP 37 Internet 40 客户/服务器模型 46 Internet标准 47 第三...
第一章 Java网络编程的原因 13 网络程序的功能 14 安全性 27 等等!还有更多! 29 第二章 基本网络概念 30 网络 30 网络的分层 32 IP、TCP和UDP 37 Internet 40 客户/服务器模型 46 Internet标准 47 第三...
第一章 Java网络编程的原因 13 网络程序的功能 14 安全性 27 等等!还有更多! 29 第二章 基本网络概念 30 网络 30 网络的分层 32 IP、TCP和UDP 37 Internet 40 客户/服务器模型 46 Internet标准 47 第三...
第一章 Java网络编程的原因 13 网络程序的功能 14 安全性 27 等等!还有更多! 29 第二章 基本网络概念 30 网络 30 网络的分层 32 IP、TCP和UDP 37 Internet 40 客户/服务器模型 46 Internet标准 47 第三...
第一章 Java网络编程的原因 13 网络程序的功能 14 安全性 27 等等!还有更多! 29 第二章 基本网络概念 30 网络 30 网络的分层 32 IP、TCP和UDP 37 Internet 40 客户/服务器模型 46 Internet标准 47 第三...
第一章 Java网络编程的原因 13 网络程序的功能 14 安全性 27 等等!还有更多! 29 第二章 基本网络概念 30 网络 30 网络的分层 32 IP、TCP和UDP 37 Internet 40 客户/服务器模型 46 Internet标准 47 第三...
第一章 Java网络编程的原因 13 网络程序的功能 14 安全性 27 等等!还有更多! 29 第二章 基本网络概念 30 网络 30 网络的分层 32 IP、TCP和UDP 37 Internet 40 客户/服务器模型 46 Internet标准 47 第三...
第一章 Java网络编程的原因 13 网络程序的功能 14 安全性 27 等等!还有更多! 29 第二章 基本网络概念 30 网络 30 网络的分层 32 IP、TCP和UDP 37 Internet 40 客户/服务器模型 46 Internet标准 47 第三...
第一章 Java网络编程的原因 13 网络程序的功能 14 安全性 27 等等!还有更多! 29 第二章 基本网络概念 30 网络 30 网络的分层 32 IP、TCP和UDP 37 Internet 40 客户/服务器模型 46 Internet标准 47 第三...
第一章 Java网络编程的原因 13 网络程序的功能 14 安全性 27 等等!还有更多! 29 第二章 基本网络概念 30 网络 30 网络的分层 32 IP、TCP和UDP 37 Internet 40 客户/服务器模型 46 Internet标准 47 第三...
第一章 Java网络编程的原因 13 网络程序的功能 14 安全性 27 等等!还有更多! 29 第二章 基本网络概念 30 网络 30 网络的分层 32 IP、TCP和UDP 37 Internet 40 客户/服务器模型 46 Internet标准 47 第三...
开发中利用了计算机网络编程的基本理论知识,如TCP/IP协议、客户端/服务器端模式(Client/Server模式)、网络编程的设计方法等。在网络编程中对信息的读取、发送,是利用流来实现信息的交换,其中介绍了对实现一个...
Java基础之网络编程一、网络通信协议1.TCP/IP网络模型2.IP地址和端口号3.类InetAddress(存在于Java.net包中)二、UDP与TCP协议1.UDP协议2.TCP协议三、UDP通信1.DatagramPacket(数据报包)(数据封装)2....