- 浏览: 120499 次
- 性别:
- 来自: 广西
文章分类
最新评论
-
greemqqran:
这方法 源码,是怎么的哦?
可变参数,数组与集合之间的转换 -
greemqqran:
Arrays.asList
可变参数,数组与集合之间的转换 -
ricoyu:
引用? super E:接收的是E类型对象应该是: ? sup ...
泛型-
网络编程: 网络通讯中所需要了解的一些内容。 TCP/IP协议体系: 网络层:ip 传输层:Tcp Udp。 应用层:SMTP,FTP,HTTP,thunder. 网络数据传输所需的要素: 1,IP地址:127.0.0.1 localhost 2,端口:数据进行出入的逻辑地址,用于标识处理数据的应用程序。 0~65535 0~1024:系统应用或者保留端口。 3,协议:通讯的规则。 Tcp和Udp的特点: Udp:面向无连接,速度较快,存在数据不安全,是通过数据封包的形式进行数据的传输。每一个包最大是64k. 数据包里封装了源地址,源端口,目的地址,目的端口,主体数据。 涉及到的对象DatagramSocket DatagramPacket Tcp:面向连接,建立连接稍消耗资源,有了连接,就有了数据通道,就可以在该通道进行数据的传输。 通过三次握手的形式完成连接的建立。 涉及到的对象:Socket ServerSocket. Socket:给网络通讯提供一个机制,因为协议的不同,对应socket服务也不一样。 -------------------------------------------- 对于UDP的通讯。就好像是邮递包裹,或者步话机。 都需要有两个端点。 发送端思路: 1,建立udp的socket服务。 2,将数据封装成数据包,并在包中指定目的地址和端口。 3,通过socket服务的send方法将数据发出。 4,关闭socket资源。 DatagramSocket ds = new DatagramSocket(); byte[] arr = "data hen duo ".getBytes(); DatagramPacket dp = new DatagramPacket(arr,arr.length,InetAddress.getByName("192.168.1.254"),10000); ds.send(dp); ds.close(); 接收端思路: 1,建立udp的socket服务,并监听一个端口。 2,为了获取数据中的分类信息,包括源地址,数据主体。 先定义好了一个数据包,将一个字节数组作为缓冲区封装到了数据包对象中。 3,通过socket服务的receive方法将收到的数据存入到数据包中。 4,通过数据包的方法获取数据包中不同类别的数据。 5,关闭资源。(视情况而定) DatagramSocket ds = new DatagramSocket(10000); byte[] buf = new byte[1024]; DatagramPacket dp = new DatagramPacket(buf,buf.length); ds.receive(dp);//接收方法是阻塞式的。 String ip = dp.getAddress().getHostAddress(); String data = new String(dp.getData(),0,dp.getLength()); int port = dp.getPort(); System.out.println(ip+":"+data); ds.close(); 例程:网络聊天。DOS版。 ------------------------------------------ Tcp的通讯:相当于打电话。 客户端的思路: 1,建立客户端的socket服务,通常指定目的地址和端口. 2,通过建立的好的通道中的socket流的读取和写入对象对数据进行操作。 3,关闭客户端。 Socket s = new Socket("192.168.1.254",10002); OutputStream out = s.getOutputStream(); out.write(" tcp ....".getBytes()); InputStream in = s.getInputStream(); byte[] buf = new byte[1024]; int len = in.read(buf); System.out.println(new String(buf,0,len)); s.close(); ----------- 服务端的思路: 1,建立服务端的socket服务,需要监听一个端口。 2,通过accept方法获取客户端对象。 3,通过获取到的客户端对象的读取和写入流对象与对应的客户端进行通讯。 4,关闭客户端,关闭服务端(视情况而定). ServerSocket ss = new ServerSocket(10002); Socket s = ss.accept(); InputStream in = s.getInputStream(); byte[] buf = new byte[1024]; int len = in.read(buf); System.out.println(new String(buf,0,len)); OutputStream out = s.getOutputStream(); out.write("收到".getBytes()); s.close(); ss.close(); web服务器原理,基于三项技术完成 1,socket。 2,多线程。 3,IO流。 --------------------------------------------------
发表评论
-
动态代理+注解实现用户权限控制
2012-12-23 00:01 1365首先第一步我们需要定义一个接口UserDao p ... -
JDK动态代理模式
2012-12-22 21:51 900package cn.dhcool.dynamic.proxy ... -
代理proxy模式
2012-12-22 20:45 0静态代理模式: 需要有一个公共的借口,还有一个真实的实现类, ... -
工厂模式下出现的问题-null异常
2012-12-15 18:31 923遇到了一个问题: public class Dao ... -
内部类详解
2011-12-09 21:23 669从Java1.1开始引入了内部类以来,它就引起了人们的激烈争论 ... -
动态代理实现
2011-11-22 02:03 1048package com.dhcool.proxy; ... -
内省总结
2011-11-19 02:43 846package com.dhcool.introspec ... -
线程锁
2011-10-10 13:27 822sleep(), wait(),yield(),这3个方法,s ... -
类似百度谷歌分页算法实现
2011-09-08 15:58 1596<%@ page language="j ... -
充当服务端代码
2011-08-05 16:53 677import java.net.*; import java ... -
获取文件中邮件的示例
2011-08-05 12:25 738import java.util.regex.*; impo ... -
正则表达式常用字符
2011-08-05 12:22 922构造 匹配 字符 x 字符 x ... -
正则表达式
2011-08-05 12:16 847第一种:1.定义匹配规则如:String qqreg = &q ... -
InetAddress
2011-08-04 21:59 905import java.net.*; class Inet ... -
B/S socket
2011-08-04 21:08 1031import java.net.*; import java ... -
TCP多线程文件上传
2011-08-04 14:51 898/* 上传图片 */ import java.io.*; ... -
一道题
2011-08-02 21:05 614/* 有五个学生,每个学生有3门课的成绩,从键盘输入以上数据 ... -
TCP
2011-08-02 20:46 781import java.net.*; import ja ... -
UDP
2011-08-02 20:35 864import java.net.*; import java ... -
mypad小程序
2011-08-02 15:48 755package menupack; import jav ...
相关推荐
Python网络编程基础是入门Python网络应用开发的重要领域,它涵盖了从基本的网络概念到复杂的网络交互技术。在Python中,网络编程主要涉及TCP/IP协议、HTTP协议、套接字编程、Web服务API调用等多个方面。下面将详细...
本教程主要关注Linux环境下的网络编程基础知识,包括UDP(用户数据报协议)和TCP(传输控制协议)的通信模型。下面将详细介绍这两个协议以及如何在Linux下进行相关的编程实践。 首先,TCP是一种面向连接的、可靠的...
1. **网络编程基础**: - 网络编程的基本概念:理解TCP/IP协议栈,包括网络层(IP)、传输层(TCP/UDP)以及应用层的协议(HTTP、FTP等)。 - 端口与套接字:学习如何使用端口号标识不同的服务,并利用套接字进行...
《Python网络编程基础》这本书是Python开发者学习网络编程的重要资源,尤其适合初学者入门。它涵盖了从基础到高级的各种主题,旨在帮助读者深入理解Python在处理网络通信时的各种技术和概念。 首先,书中会讲解...
本资源"PYTHON网络编程基础.pdf"是针对初学者的一份详尽指南,旨在帮助读者掌握Python网络编程的基础知识。 Python语言在网络编程中的优势在于其简洁的语法和丰富的库支持。例如,标准库中的`socket`模块提供了低...
PYTHON网络编程基础.pdfPYTHON网络编程基础.pdfPYTHON网络编程基础.pdfPYTHON网络编程基础.pdfPYTHON网络编程基础.pdfPYTHON网络编程基础.pdfPYTHON网络编程基础.pdf
Python网络编程基础第二版的源代码是一份宝贵的教育资源,它涵盖了Python在进行网络通信和数据交换方面的核心概念和技术。这份源代码提供了丰富的示例和练习,帮助初学者深入理解网络编程的基本原理。以下是对这份...
1. Java网络编程基础 Java网络编程主要基于Java的Socket API,该API提供了在TCP/IP协议上建立连接和传输数据的接口。Java.net包下包含Socket和ServerSocket类,分别用于客户端和服务器端的编程。此外,URL和...
Python网络编程基础.pdf 开发技术
《python网络编程基础》PDF电子书, web必读的一本书。
JavaScript网络编程基础教程主要涵盖了利用JavaScript进行Web开发中的网络交互技术。这门教程旨在帮助初学者理解并掌握JavaScript在网络环境中的应用,使开发者能够构建功能丰富的动态网页和应用程序。JavaScript,...
本课程“C#网络编程基础”旨在帮助初学者快速掌握网络编程的基本概念和实践技巧。 首先,我们从“委托机制”这个主题开始。在C#中,委托是一种类型安全的函数指针,它允许我们传递方法作为参数或者存储方法以便稍后...
java网络编程基础 java网络编程基础 java网络编程基础
Python网络编程基础 中文版 带完整目录标签清晰版
PERL网络编程基础教程,PERL网络编程基础教程,PERL网络编程基础教程