- 浏览: 919208 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (498)
- J2EE (52)
- 数据库 (17)
- java基础 (43)
- web技术 (19)
- 程序设计 (6)
- 操作系统 (18)
- IT资讯 (7)
- 我的IT生活 (12)
- 学习笔记 (9)
- Jquery (25)
- JavaScript (18)
- spring (40)
- Hibernate (12)
- Struts (10)
- YUI (2)
- Extjs (22)
- .net (0)
- Eclipse (10)
- 社会主义 (2)
- 服务器 (9)
- CSS (8)
- 网络安全 (16)
- 版本控制 (9)
- PHP (2)
- Oracle (42)
- SQL server (1)
- Mysql (11)
- 项目管理 (3)
- 开发工具使用 (10)
- SQL语句 (7)
- Perl (0)
- Shell (6)
- 漏洞 (4)
- ibatis (5)
- hacker (2)
- SQL注入 (6)
- Hacker工具 (2)
- 入侵和渗透 (7)
- 插件/组件 (2)
- 最爱开源 (5)
- 常用软件 (2)
- DOS (1)
- HTML (2)
- Android (9)
- CMS (1)
- portal (8)
- Linux (7)
- OSGI (1)
- Mina (5)
- maven (2)
- hadoop (7)
- twitter storm (2)
- sap hana (0)
- OAuth (0)
- RESTful (1)
- Nginx (4)
- flex (1)
- Dubbo (1)
- redis (1)
- springMVC (1)
- node.js (1)
- solr (2)
- Flume (1)
- MongoDB (2)
- ElasticSearch (1)
最新评论
-
M_drm:
请问要怎么设置浏览器才不报没权限呢?
用JS在页面调用本地可执行文件的方法(ACTIVEX) -
Alexniver:
官方文档。When importing data into I ...
mysql导入数据过慢 解决方法 -
camelwoo:
我记得 Criteria 可以做连接查询与子查询,也可以做分页 ...
Hibernate总结篇二 -
zhenglongfei:
楼主如果SubKeyName 这个节点不存在,怎么办??怎么用 ...
Java操作注册表 -
yxx676229549:
用log4j 2 了
logback
java网络编程主要包含4部分: (注意设置超时时间)
1.URL 连接 :类 URL 代表一个统一资源定位符,它是指向互联网“资源”的指针。资源可以是简单的文件或目录,也可以是对更为复杂的对象的引用,例如对数据库或搜索引擎的查询。
2.HttpURLConnection连接:相当于servlet,发送单个以post或get方式的请求,
3.TCP/IP连接 可靠传输ServerSocket类
4.UDP连接 DatagramSocket 类, 此类表示用来发送和接收数据报包的套接字。
TCP/IP 连接 Server服务器端
TCP/IP连接 Client客户端
1.URL 连接 :类 URL 代表一个统一资源定位符,它是指向互联网“资源”的指针。资源可以是简单的文件或目录,也可以是对更为复杂的对象的引用,例如对数据库或搜索引擎的查询。
2.HttpURLConnection连接:相当于servlet,发送单个以post或get方式的请求,
3.TCP/IP连接 可靠传输ServerSocket类
4.UDP连接 DatagramSocket 类, 此类表示用来发送和接收数据报包的套接字。
TCP/IP 连接 Server服务器端
import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.net.ServerSocket; import java.net.Socket; /** *@ClassName:Server *@author: chenyoulong *@date :2012-7-30 上午10:35:09 *@Description:TODO */ public class SendServer { /** * @throws IOException * @Title: main * @Description: TODO * @param @param args * @return void * @throws */ public static void main(String[] args) throws IOException { // TODO Auto-generated method stub ServerSocket server=new ServerSocket(8888); System.out.println("server start"); Socket sock=server.accept(); sock.setSoTimeout(6000); //服务器端设置连接超时时间,该操作只对读取(read)操作有效。 //读取 //字节流的形式读取 // 优缺点分析,弱点:受byte[]大小的限制 ,优点:不受回车符(\r)和换行符(\n)限制 InputStream input=sock.getInputStream(); byte[] buf =new byte[1024]; System.out.println("InputStream==="+input); if(input!=null){ int len=input.read(buf); ToolKit.writeLog(SendServer.class.getName(), "服务器端收到的报文:\n"+new String(buf, 0, len)); } /* //字符流的形式读取 //(遇到换行符或者回车符就终止,还是谨慎使用) BufferedReader read=new BufferedReader(new InputStreamReader(sock.getInputStream())); String readStr=null; if((readStr=read.readLine())!=null){ ToolKit.writeLog(Server.class.getName(), "服务器端收到的报文:\n"+readStr); } if(read!=null) read.close(); */ /*//输出 String outStr="我是server服务器端"; BufferedWriter write=new BufferedWriter(new OutputStreamWriter(sock.getOutputStream())); if(outStr!=null){ write.write(outStr); } if(write!=null) write.close();*/ //挂关闭资源 if(sock!=null) sock.close(); if(server!=null) server.close(); }
TCP/IP连接 Client客户端
import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.IOException; import java.net.Socket; import java.net.UnknownHostException; import org.apache.log4j.Logger; /** *@ClassName:ReceiveClient *@author: chenyoulong *@date :2012-8-3 下午2:17:26 *@Description:TODO */ public class ReceiveClient { private final String IP=Setting.RECEIVE_IP; private final int PORT=Setting.RECEIVE_PORT; private Logger log = Logger.getLogger(Sender.class.getName()); //发送 /** * @throws Exception * 发送报文 * @Title: send * @Description: TODO * @param @param reqMessage * @return void * @throws */ public void send(String reqMessage) throws Exception{ Socket sock=null; BufferedOutputStream out=null; try { sock=new Socket(); SocketAddress sockAdd=new InetSocketAddress(IP, PORT); sock.connect(sockAdd, 2000); //客户端设置连接建立超时时间 out=new BufferedOutputStream(sock.getOutputStream()); out.write(reqMessage.getBytes()); out.flush(); } catch (UnknownHostException e) { // TODO Auto-generated catch block log.error("网络连接异常"+Strings.getStackTrace(e)); e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block log.error("网络连接异常\n"+Strings.getStackTrace(e)); e.printStackTrace(); }finally{ if(out!=null){ try { out.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } if(sock!=null){ try { sock.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } } //接收 public String reiceve() throws Exception{ Socket sock=null; BufferedInputStream in=null; try { sock=new Socket(IP,PORT); in = new BufferedInputStream(sock.getInputStream()); if ((sock == null) || (in == null)) { throw new Exception("套接口无效,无法读取数据"); } } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } byte[] bts = new byte[10000]; int totalLen = 0, len = 0; while ((len = in.read(bts, totalLen, 1000)) != -1) { totalLen += len; } String result = new String(bts); //注意字符编码 return result.trim(); } //main函数示例 public static void main(String[] args){ //发送报文 //发送 String str="我是客户端!" try { new ReceiveClient().send(str); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } //接收报文 /*try { String recStr=new Receiver().reiceve(); System.out.println("客户端接收到的结果=="+recStr); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); }*/ } }
发表评论
-
List对象排序通用方法
2014-07-29 09:21 1034在数据库中查出来的列 ... -
EJBCA环境搭建
2014-04-03 17:31 1092EJBCA开发者 http://wiki.ejbca.org/ ... -
Java & Eclipse 相关内容杂记及技巧
2013-11-26 22:42 10571、Eclipse 的启动画面 A、加启动参数。如: ... -
一套貌似很牛B的Nutch相关框架视频教程
2013-10-24 09:16 1108国内首套免费的《Nutch相关框架视频教程》(1-20) ht ... -
memcached实现多个tomcat 共享一个session(转)
2013-04-23 09:49 901http://dqm926.iteye.com/blog/18 ... -
logback
2013-01-23 09:40 1288http://yuri-liuyu.iteye.com/blo ... -
位运算
2012-11-21 17:50 957程序中的所有数在计算 ... -
HashMap的2中遍历方式比较
2012-11-20 11:47 1015http://smallnetvisitor.iteye.co ... -
SVN如何强制在提交时要求添加注释说明(windows平台)
2012-11-06 18:00 3624在项目库的hooks目录下,添加一个pre-commit.ba ... -
Java虚拟机读写其他进程的数据
2012-08-22 13:07 1144Java虚拟机读写其他进程的数据 http://axiang ... -
java计算校验和:对“消息头+会话头+事务头+操作信息”按32位异或,对异或结果取反后的值为校验和。
2012-08-14 17:41 3545java计算校验和:对“消 ... -
java中对Byte字符数组定长截取的方法
2012-08-14 16:33 2110今天在在处理从网络上接收到的字符串,因为是从后台C语言过来的一 ... -
CAS单点登录配置笔记
2012-08-14 16:31 1098转:http://blog.csdn.net/lifvc/ar ... -
hadoop安装与配置
2012-08-10 11:46 1351一、安装准备 1、下载hadoop 0.21.0,地址:ht ... -
集中各种好网站
2012-08-09 16:41 9731.开源中国---在线工具: http://www.oscto ... -
人脸检测算法库 jViolajones 使用示例代码
2012-08-09 16:32 1692jViolajones是人脸检测算法Viola-Jones的一 ... -
JQuery上传插件Uploadify详解及其中文按钮解决方案
2012-08-08 18:02 0官网: http://www.uploadify.com/do ... -
用java流方式判断文件类型
2012-08-08 17:57 0全文转载:http://rainsilence.iteye.c ... -
Java简单的网络爬虫实现
2012-08-08 10:19 2510最近在学习搜索方面的东西,需要了解网络爬虫方面的知识,虽然有很 ... -
使用EhCache和Spring AOP实现计算结果缓存
2012-08-07 10:47 1066原文:http://kim-miao.iteye.com/bl ...
相关推荐
实现网络数据和串口数据相互转换的功能,使用时需要配置用于接收数据的串口以及要传向的目标网络IP与端口号,网络数据的发送采用UDP/TCPServer/TCPClient/SocketServer/SocketClient模式,串口通讯与网络通讯互转...
SocketServer_nightct1_socketserver_socketc#_ 是一个基于C#编程语言实现的Socket通信客户端程序,主要用于TCP/IP协议的网络编程。在本文中,我们将深入探讨SocketServer的原理、设计模式以及C#中实现Socket通信的...
这个"C# 网络编程之socket tcp 通讯demo样例"可能涵盖了这些基本操作,为初学者提供了理解TCP通信机制的起点。通过阅读和理解代码,你可以了解到如何在C#中建立和管理TCP连接,以及如何进行数据的收发。对于进一步的...
Tcp(socket)Server.java
Python的网络编程主要依赖于socket库,而socketserver模块则为开发者提供了更加便捷的方式来构建网络服务器。`socketserver`简化了服务器的创建过程,通过预定义的类来处理TCP、UDP等各种类型的网络通信,同时也支持...
Socket是TCP/IP协议栈中的基础组件,允许程序之间通过网络进行双向通信。HTTP SocketServer将HTTP请求解析并转化为Socket操作,从而处理客户端的请求,这通常用于自定义HTTP服务器实现或扩展已有服务器的功能。 **4...
总结起来,实现多客户端的TCP/IP通信编程,我们需要理解TCP协议的工作原理,掌握SOCKET编程的基本操作,并结合多线程技术来处理并发连接。这样的服务端程序可以高效地服务于多个客户端,满足现代网络应用的需求。在...
SocketServer是建立在socket之上的高级抽象,简化了服务器端的开发。 **Socket基本操作:** 1. **创建Socket对象** - 使用socket.socket()函数创建一个套接字实例。 2. **绑定地址和端口** - 调用socket.bind()方法...
Java SocketServer 和 Socket 是网络编程中的基础概念,用于构建客户端-服务器通信模型。在这个场景下,`MathServer.java` 可能是服务器端程序,而 `Client.java` 是客户端程序。接下来,我们将深入探讨这两个核心...
1.TCP是一种面向连接的可靠地协议,在...2.python可以实现TCP服务器和客户端的编程,下面是代码: 服务器端: 复制代码 代码如下:#!/usr/bin/env pythonimport sockethost=”localhost”port=10000s=socket.socket(soc
/// Socket TCP协议的服务类。引入连接会话超时概念,使用事件机制抛出服务产生的异常和接收到的数据。 /// 主要2个类: /// TcpServer 服务类,要负责监听连接,并为每一个连接创建Session后放置在Session列表中。 ...
### Java中的Socket网络编程:深度解析 #### 一、Socket概念与作用 Socket,中文常译作“套接字”,是计算机网络编程中一个至关重要的概念。它为两台计算机之间提供了通信接口,使得不同机器上的应用程序能够进行...
总之,"VC TCP UDP socketserver client编程例子"是一个非常实用的学习资源,它可以帮助开发者深入理解和实践TCP和UDP的socket编程,提升网络通信方面的技能。通过阅读和运行示例代码,开发者可以更好地掌握网络编程...
Socket编程在IT行业中是网络通信的基础,特别是在C#这样的面向对象编程语言中,它提供了强大的网络通信能力。本文将深入探讨标题"Socket_Server_Client_socketserver_SocketClient_C#源码_"所涵盖的知识点,主要围绕...
自定义消息协议是在标准TCP/IP协议之上,根据具体需求设计的一种数据传输格式。本篇将详细讲解如何在Java中实现基于Socket的自定义消息协议,以及客户端与服务器端的数据转换与解析过程。 首先,我们来看`Socket...
在TCP/IP协议栈中,Socket分为两种类型:流式Socket(SOCK_STREAM,基于TCP)和数据报式Socket(SOCK_DGRAM,基于UDP)。本示例很可能使用的是流式Socket,因为它们提供面向连接、可靠的数据传输。 Windows Socket ...
- **Socket定义**:Socket是网络编程中的一个接口,它允许应用程序通过TCP/IP协议进行数据交换。在Java中,Socket类和ServerSocket类提供了客户端和服务端的实现。 - **TCP/IP协议**:传输控制协议/因特网协议,...
了解OSI模型或TCP/IP协议栈有助于理解不同层次间的交互。 9. **实际应用**: - 网页浏览、电子邮件、文件传输、远程登录等许多互联网服务都基于TCP协议。 通过分析和理解这个项目,你可以深入学习TCP协议的运作...
PB Winsocket完整实例是PowerBuilder (PB) 中利用Winsocket API进行网络通信的一个详细示例。这个实例在PB10环境下已经过调试...同时,对于理解网络编程原理、实践TCP/IP协议以及掌握PB的高级特性也有很大的促进作用。
它涉及IP地址、端口号、协议(如TCP/IP、UDP)和数据传输。在Python中,这些概念可以通过内置的socket模块来实现。 2. **Python的socket模块**:Python的socket模块提供了低级别的网络通信接口,可以创建和操作套接...