- 浏览: 298002 次
- 性别:
- 来自: 杭州
博客专栏
-
Java面试
浏览量:0
文章分类
- 全部博客 (133)
- Struts2 (4)
- Hibernate (2)
- Spring (3)
- Java常识小积累 (18)
- Linux (6)
- Oscache (1)
- 面试技巧 (2)
- Eclipse (4)
- JavaScript (21)
- 生活 (7)
- Mysql (3)
- 网络优秀文章 (1)
- Freemaker (1)
- Tcp和UDP (1)
- ubuntu -java (1)
- Oracle (14)
- 重构 (1)
- webservice (4)
- Lucene (1)
- UML与OOA/D (1)
- 软件杂谈 (2)
- Nosql(Redis) (1)
- 团队开发 (1)
- Oracle 设计 (1)
- velocity (1)
- 面试那些事儿 (1)
- 技术 (1)
- 互联网 (1)
- 数据库 (1)
- jquery (1)
- java (2)
- fastjson (1)
- Remoting (1)
- 算法 (1)
- 学习技巧 (1)
- POI (3)
- FusionCharts (1)
- 学习资源 (1)
- 设计模式 (2)
- CSS (1)
- 技术边缘 (3)
- 生活感想 (0)
- JVM (1)
- JSON (0)
- 前端 (1)
- cxf (1)
- 分布式 (1)
- 阿萨德飞 (0)
- Java面试中的知识 (2)
- redis (1)
- 开发工具使用 (3)
最新评论
-
liushimiao0104:
请问下怎么删除word里面的图片呢
POI向word添加图片,表格 -
chpn:
addBatch确实可以1.这个和复合索引没得毛关系2.in查 ...
mysql 超1亿数据,优化分页查询 -
步青龙:
dagf113225 写道请问,这个mysql执行SQL的花费 ...
mysql 超1亿数据,优化分页查询 -
dagf113225:
请问,这个mysql执行SQL的花费的时间的工具叫什么?谢谢! ...
mysql 超1亿数据,优化分页查询 -
步青龙:
white_crucifix 写道我怎么觉得builder模式 ...
Builder设计模式
TCP: Server端
try { ServerSocket ss = new ServerSocket(8808); Socket socket = ss.accept(); OutputStream os = socket.getOutputStream(); PrintWriter pw = new PrintWriter(os); pw.print("hello"); pw.flush(); pw.close(); socket.close(); ss.close(); } catch (IOException e) { e.printStackTrace(); }
Client端:
try { Socket socket = new Socket("localhost",8808); InputStream is = socket.getInputStream(); InputStreamReader isr = new InputStreamReader(is); BufferedReader br = new BufferedReader(isr); String str = br.readLine(); System.out.println(str); }catch (IOException e) { e.printStackTrace(); }
这样就简单实现来服务器端与客户端的socket数据传输。
UDP Server端:
try { DatagramSocket ds = new DatagramSocket(9999); // 创建数据socket byte[] buff = new byte[1024]; DatagramPacket dp = new DatagramPacket(buff,1024);// 创建数据包 ds.receive(dp); // 接受数据 String str = new String(dp.getData()); // 得到数据 System.out.println(str); ds.close(); } catch (Exception e) { e.printStackTrace(); }
Client端:
DatagramSocket ds = new DatagramSocket(9998);// 创建数据socket String str = "abc"; // 要发送的数据 DatagramPacket dp = new DatagramPacket( str.getBytes(),0,str.length(), InetAddress.getByName("localhost"),9999); // 创建数据包 ds.send(dp); // 发送数据 ds.close();
TCP通信的服务器端创建一个多线程模型
public class TestServerThread { public static void main(String[] args) { try { ServerSocket ss = new ServerSocket(8808); Socket socket = null; if ((socket=ss.accept()) != null) { new MyThread(socket).start(); } ss.close(); } catch (IOException e) { e.printStackTrace(); } } } class MyThread extends Thread{ private Socket socket; public MyThread(Socket socket){ super(); this.socket = socket; } public void run(){ try { try { OutputStream os = socket.getOutputStream(); PrintWriter pw = new PrintWriter(os); pw.print("new is :" + new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(new Date())); pw.flush(); pw.close(); socket.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } sleep(10000); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }
一般的WEB服务器都支持多线程,WEB服务器都是用到这些基础知识。我们可以用java 的TCP变成API创建一个very简单的WEB服务器,如果真的想开发出像Tomcat,WEBSphere确实不是很简单的事情。
pw.print("<html><head><title>title</title></head><body>hello welcome!</body></html>");
运行main 然后打开浏览器输入http://localhost:8808 这样就可以在浏览器看到hellol welcome啦。
最简单的模拟啦web服务器。像tomcat等服务器实现的协议不知道有多少种。做java ee开发就不做深究。
发表评论
-
双色球数据抓入Mysql
2013-04-12 18:45 17341 mysql5.1 创建表 -- 创建表 id,开 ... -
从零学Java-Java简介
2013-02-28 15:06 27Java的发展史可百度获得 从零学 ... -
疑难杂症-itext 横纵混编
2013-02-26 16:20 1332POI在word处理写的能力很差,所以不适合生成复杂 ... -
itext对word处理合并单元格,处理图片,文档结构图
2013-01-18 16:29 7843效果: 代码: package com.aa ... -
Java与Javascript 最近值
2013-01-16 14:55 1770Double price = 19.0000; ... -
Java数学运算中 电脑计算和人的思维模式的差别
2012-12-13 15:31 8大多数情况下还是人的思维模式下的运算要快点。 怪状1: ... -
重构的重要性大于架构
2012-12-01 20:58 1732此文仅仅是个人理解。 架构和重构从本质上讲 ... -
Excel 参照列并单元格算法
2012-08-28 10:02 1066题目需要做的有2个功能 1 根据一个字符串数组 求出连续且相 ... -
Java基础误区
2012-08-12 01:36 9891 import java.util.Date; ... -
BigDecimal
2012-07-02 14:37 1108BigDecimal a = new BigDec ... -
朝花夕拾,Java基础回顾
2011-11-15 09:48 1135byte 在编译的时候最大可以多大?为什么? 为什么成员变量 ... -
ubuntu安装java
2011-07-04 04:23 13601:下载jdk ,比如:jdk-6u26-linux-i586 ... -
面试-编程-质数
2011-06-22 02:15 1147第一种算法 public static boolea ... -
Refecting in Java
2011-06-02 11:33 1172反射这个东西项目中会用到,如果我有一个Navigatio ... -
博客设计
2011-03-11 12:02 1291设计一个可以承受大访问量的博客表,Mysql数据库。 ... -
静态内部类-静态变量-非静态内部类之间的访问权限
2011-01-10 16:27 34public class Test { //注意静态 ... -
代码规范约定
2010-12-17 10:34 32处理变量,方法,类的命名之外 1必要 ... -
Java基础特殊应用
2010-11-25 16:11 1457古老的代码,java代替goto,代码没有实际的意 ... -
地址图片上传服务器
2010-11-17 14:12 561: 普通的地址图片上传,只能上传普通的地址一般是后缀jpg, ... -
htmlparser应用
2010-10-21 10:41 1664package com.util.md5; imp ...
相关推荐
C#是一种广泛用于构建桌面和Web应用的编程语言,它提供了强大的Socket类库来处理TCP和UDP通信。本篇文章将深入探讨如何使用C# 2010开发一个Socket测试工具,包括TCP和UDP报文的发送与接收,以及端口的测试。 首先,...
在IT领域,网络编程是构建分布式系统和网络应用的基础,其中TCP和UDP是两种主要的传输层协议。本文将深入探讨这两个协议以及如何使用C语言进行socket编程。 首先,TCP(Transmission Control Protocol)是一种面向...
Java作为一门广泛使用的编程语言,提供了丰富的API来支持TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)这两种主要的网络通信协议。下面我们将深入探讨Java如何实现TCP和UDP的测试代码,以及...
在IT行业中,网络通信是至关重要的一个领域,TCP(传输控制协议)和UDP(用户数据报协议)是两种主要的传输层协议,它们为应用程序提供数据传输服务。本篇文章将详细探讨TCP和UDP连接,以及如何通过工具如TCPView来...
而BC35模块则是提供GSM和GPRS网络连接,支持TCP和UDP协议,能进行无线数据传输。 在这个项目中,我们主要关注如何通过STM32 BC35模块与阿里云进行TCP和UDP通信。TCP(传输控制协议)是一种面向连接的、可靠的传输...
在这个特定的项目中,我们关注的是如何在STM32F4上实现TCP(传输控制协议)和UDP(用户数据报协议)的通信功能,这通常涉及到网络编程和LWIP(Lightweight TCP/IP)协议栈的使用。 **TCP(传输控制协议)**是一种...
UDPDemo和TcpDemo可能是两个编程示例,分别展示了如何使用UDP和TCP进行数据传输。在实际编程中,开发者需要根据应用需求选择合适的协议,例如,一个在线游戏可能需要使用UDP来实现低延迟的游戏交互,而一个文件传输...
本项目聚焦于利用C#的Socket类库开发TCP和UDP协议的报文及端口测试工具。这个工具能够帮助开发者进行网络连接的调试、性能测试以及问题排查,其源码的提供对于学习和实践网络编程具有极大的价值。 首先,TCP...
在计算机网络编程中,TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)是两种常见的传输层协议,它们在数据传输方面各自有着独特的特性和应用场景。本文将针对“TCP和UDP Socket调试工具V2.2”...
TCP 和 UDP 的区别和优缺点 TCP(Transmission Control Protocol,传输控制协议)和 UDP(User Datagram Protocol,用户数据报协议)是两种常用的传输层协议,它们之间存在许多区别,了解这些区别对于网络编程和...
在计算机网络领域,TCP(传输控制协议)和UDP(用户数据报协议)是两种主要的传输层协议,它们各自有着不同的特性和应用场景。本项目提供了一个数据包发送模拟程序,包含源代码、可执行文件以及相关文档,帮助我们...
tcp 和 udp 包分析 在 Wireshark 中,tcp 和 udp 包分析是网络协议分析的重要部分。 Tcp 和 udp 是两种常用的传输层协议,分别用于可靠的连接oriented 和不可靠的连接less 通信。 一、 TCP 包分析 Tcp 包是 ...
在IT行业中,网络通信是至关重要的一个领域,TCP(传输控制协议)和UDP(用户数据报协议)是两种最基础的传输层协议,它们都基于Socket进行通讯。Socket编程是网络编程的基础,允许应用程序通过网络发送和接收数据。...
在IT行业中,网络通信是至关重要的一个领域,TCP(传输控制协议)和UDP(用户数据报协议)是两种主要的传输层协议。然而,在实际应用中,尤其是涉及到P2P(点对点)通信时,NAT(网络地址转换)会成为一个挑战。本篇...
在计算机网络通信领域,TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)是两种重要的传输层协议,它们分别在不同的场景下发挥着关键作用。本篇文章将深入探讨这两种协议,并基于VC++实现的仿...
3.UDP和TCP的对比 UDP处理的细节比TCP少。UDP不能保证消息被传送到目的地。UDP也不保证数据包的传送顺序。UDP把数据发出去后只能希望它能够抵达目的地。 三、TCP优缺点 优点: 1.TCP提供以认可的方式显式地...
【标题】:“基于TCP和UDP的聊天程序” 在计算机网络通信中,TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)是两种常见的传输层协议,它们各有特点并广泛应用于各种网络应用,包括聊天程序...
在计算机网络中,TCP(传输控制协议)和UDP(用户数据报协议)是两种主要的传输层协议,它们各自有着不同的特性和应用场景。端口扫描是网络安全领域中的一个关键技术,用于探测目标主机开放的服务和端口,从而了解...
本主题聚焦于"基于Socket的TCP和UDP聊天程序代码",提供了完整的Java工程文件,帮助开发者理解如何利用这两种传输协议创建聊天应用程序。TCP(传输控制协议)和UDP(用户数据报协议)是Internet协议族中的两种主要...
本项目专注于通过Socket编程实现TCP(传输控制协议)和UDP(用户数据报协议)的数据包发送程序,这对于理解这两种协议的工作原理及其在Windows环境下的应用至关重要。 首先,TCP是一种面向连接的、可靠的传输协议。...