- 浏览: 2738499 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1313)
- JS (65)
- CSS (6)
- html (30)
- dweamweaver工具相关 (2)
- Spry (1)
- DB (103)
- p2p (1)
- java (405)
- .net (3)
- oracle (24)
- struts (18)
- myeclipse (15)
- linux (49)
- SQL SERVER2008 (101)
- jsp (21)
- resume (1)
- other (1)
- ajax (3)
- 云计算 (2)
- excel (32)
- vss (1)
- 警戒 (1)
- eclipse (21)
- c (1)
- dialog designer (7)
- axis1.4 (4)
- webservice (11)
- CTI (1)
- svn (8)
- spring (27)
- tomcat (13)
- log4j (14)
- 网络应用 (7)
- mysql (59)
- bat (4)
- jdbc (1)
- 正式表达式 (1)
- hibernate (27)
- iphone (2)
- 系统应用 (107)
- servlet (3)
- vmware (2)
- php (12)
- JQuery (30)
- avaya (5)
- postgresql (19)
- java面试 (1)
- rose (1)
- Socket (1)
- xml (2)
- PowerDesign (3)
- visio (1)
- jstl (4)
- informix (2)
- assemble (2)
- English Study (2)
- IOS (9)
- CMMI (1)
- outlook (4)
- poi (1)
- hadoop (5)
- SAE (3)
- jor (1)
- jquery mobile (1)
- git (11)
- mina (1)
- ibatis (2)
- wordpress (2)
- 支付宝 (1)
- struts2 (14)
- apns (1)
- html5 (1)
- xampp (2)
- uml (2)
- 项目管理 (1)
- 敏捷开发 (1)
- 设计模式 (2)
- spark (1)
- maven (9)
- 微信公众平台 (1)
- json (2)
- junit (1)
- quartz (2)
- redis (2)
- memcache (1)
- android (3)
- 红杏 (1)
- postman (1)
- mybatis (5)
- iplat4j (1)
- windows (1)
- logback (1)
- Netty (1)
- wiki (1)
- dubbo (1)
- sonar (2)
- jenkins (2)
- mac (10)
- office (4)
- groovy (1)
- intellij (6)
- zookeeper (2)
- 诛仙 (1)
- MQ (2)
- docker (1)
- 2222 (0)
最新评论
-
代码改变生活:
虽然代码敲的头疼的要命,但是依然要感谢你,感谢您共享!!!!开 ...
jxl读取excel日期相差8小时 -
www3837:
org.slf4j.Logger 下载 -
hyztty:
wait_timeout = 86400 interacti ...
druid连接池 -
niaodanwangzi:
连接池可不是给你检测连接状态用的。是为了连接复用,减少连接数。 ...
druid连接池 -
supermine0903:
学习了 啦啦啦
多个路由器同时上网
一直以来,Socket一直是我研究的对象。
但是由于从未在项目中使用,所以经常会遗忘,今天记录下思路。
我写的几个类如下:
clientsocket.java
keybordrunnable.java
serrun.java
serversmain.java
- 在serversmain里有一个ServerSocket,它并不需要放在多线程里,只是放在普通的main函数中,它有一个accept()方法,每当有一个客户请求时,便建立一个Socket,这里可以把serversmain看成是酒店大堂经理。
注释:Socket相当于一个通道,客户端和服务端就是通过这条通道进行会话的。
Socket有一个inputStream,一个outputStream,分别是往这个通道中拿数据和写数据。
- serversmain拿到socket后,便new一个新的线程serrun,将socket放进去。这里的serrun相当于大堂经理喊一个服务员来接待这个顾客。
- serrun只负责接收客户发来的请求,但是她来不及答复,此时她需要一个专门的人来答复客户的请求,这个专门的人就是keybordrunnable的一个对象,keybordrunnable是一个多线程程序,专门向socket中写数据。
- clientsocket可以向服务器发起申请,此时也会产生一个socket,这个socket和上面server产生的socket是同一个socket,这里clientsocket就相当于一个顾客,顾客也是只负责服务器发来的数据,但是他也来不及答复,他也需要一个专门的人来答复服务器的请求,这个专门的人同样是keybordrunnable的一个对象。
这里,思路就是这样。
我将源代码放在附件中了,核心代码在mytcp包中。
- JavaQQ1.0.zip (183.7 KB)
- 下载次数: 2
发表评论
-
普通类和线程类的区别
2017-02-18 21:44 1248假设一个类是SubThread,它的init( ... -
最近一些心得
2017-02-08 16:01 8951、Mac starUML在导出png图片时,不要用s ... -
druid连接池
2016-09-14 16:00 5197环境:Ubuntu+Mysql5.5 近期一直报 ... -
罕见问题记录
2016-08-24 17:56 9201、如果提示对catalina.out无权限。 此时 ... -
Java Security
2016-08-24 17:50 959背景: 公司有某些场景需要向第三方提供服务, ... -
kafka java demo
2016-07-10 20:51 6765环境:ubuntu10 2台(32位)+JDK1.8(32 ... -
autowired resource component
2016-05-11 15:23 947背景:同样的bean类型有2个。 尝试用autowire ... -
eclipse 部署spring源码经验之谈
2016-05-08 23:41 17071、junit加载applicationCont ... -
main函数中如何实例化内部类
2016-04-30 22:50 1205需要先new一个父类的对象,然后用父类对象.new 内 ... -
java synchronized 串行
2016-04-30 22:42 1196背景:大家都知道用synchronized来实现加锁 ... -
观察者 Listener是什么意思
2016-02-26 10:40 946从观察者设计模式来看,Listener翻译成中文就是 ... -
UTF-8和Unicode的关系
2016-02-25 16:34 981utf-8只实际了unicode的第一个plane ... -
dubbo
2016-02-18 15:48 7731、配置dubbo.xml,主要是连接到dubbo服务 ... -
datetime格式化
2016-02-18 11:25 841org.joda.DateTime格式化成特定的Str ... -
Java接口中的成员变量为什么必须是public static final?
2016-01-10 16:20 1380必须是final的,否则多个类全继承他后,每个人都改, ... -
抽象类能不能有构造函数
2016-01-10 16:06 1041可以有,但是不能用,即不能new。 refur ... -
workspace workset设置
2016-01-10 15:51 1235背景:当eclipse里面的项目太多时,看上去非常凌 ... -
eclipse一直building workspace
2015-12-10 19:37 811我这里的原因很特殊,是因为在配置spring d ... -
序列化和反序列化
2015-12-10 19:19 930说白了,序列化后 ... -
java.net.bindexception cannot assign requested address jvm_bind
2015-12-10 19:14 1401我的原因是hosts文件中关于127.0.0.1有2个 ...
相关推荐
在本示例中,"Java Socket示例"是一个在NetBeans环境中开发的简单聊天工具,它利用了Socket来实现实时的客户端-服务器通信。下面我们将深入探讨Java Socket的基本概念、工作原理以及如何在实际应用中创建一个简单的...
在本文中,我们将深入探讨SuperSocket的核心概念、功能特性,以及如何利用提供的客户端和服务器端示例源码进行开发。 首先,SuperSocket提供了一个简单而强大的API,允许开发者快速构建基于TCP/IP的服务器应用程序...
Socket udpSocket = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp); ``` 4. 绑定本地端口: 使用`Bind()`方法将Socket与本地IP地址和端口号关联,以便接收数据: ```csharp ...
在IT行业中,Linux Socket是进行网络通信的重要工具,尤其对于系统和网络程序员来说,理解和掌握Linux Socket编程至关重要。本示例代码提供了客户端(client)和服务器端(server)的实现,帮助初学者深入理解如何在...
总之,VB.NET中的Socket示例代码为我们展示了如何利用Socket类进行TCP网络通信,包括服务器端的监听、连接接受和数据交换,以及客户端的连接、数据发送和接收。理解这些基本操作对于进行网络编程至关重要。通过实际...
**C# UDP Socket示例** 以下是一个简单的C# UDP客户端和服务端示例: ```csharp // 服务端 using System; using System.Net; using System.Net.Sockets; class UdpServer { static void Main() { // 创建Socket...
Java异步socket示例代码
本示例代码包括客户端和服务端两部分,旨在展示如何通过Java的Socket API进行基本的通信。 在Java中,`java.net.Socket`类代表一个客户端Socket,用来连接到服务器的特定端口。`java.net.ServerSocket`类则用于...
本文将深入探讨基于C++的Socket编程,特别是在TCP/IP协议栈中的应用,以"socket示例"为出发点,结合提供的TCPClient文件,来解析客户端的实现过程。 首先,我们需要理解TCP(传输控制协议)和IP(互联网协议)的...
QT下多线程UDP Socket示例是一个典型的网络通信编程应用场景,它涉及到QT库中的网络模块,特别是关于UDP(用户数据报协议)的使用以及多线程技术。在本示例中,开发者创建了一个UDP服务器,该服务器能够在不影响主...
本示例“c#Socket示例”旨在帮助开发者理解和实践如何在C#中使用Socket进行异步通信。 首先,我们要理解Socket的工作原理。Socket是基于TCP/IP协议栈的,它为进程间的通信提供了端点。在C#中,我们可以使用`System...
本示例将详细讲解如何使用C#的Socket类进行TCP通信。 TCP(Transmission Control Protocol)是一种面向连接、可靠的传输协议,它通过三次握手建立连接,并确保数据的有序、无损传输。C#中的Socket类提供了TCP通信所...
总结来说,PHP Socket示例展示了如何在PHP中构建基于TCP/IP的服务器和客户端应用。服务端负责监听和响应客户端的请求,而客户端则用于发起连接并进行数据交换。在实际项目中,Socket通信常用于实时数据交互、聊天室...
本示例中,我们有两个文件:`SocketServer.java`和`SocketClient.java`,分别代表服务器端和客户端的实现。下面将详细介绍这两个文件可能包含的Java Socket编程知识点。 1. **Socket接口与ServerSocket类** - `...
- 针对"NetCommunication"这个文件,可能包含了一个简单的Java Socket通信示例,包括客户端和服务器端的代码。分析这些代码可以帮助理解如何在实际项目中应用Socket通信。 总的来说,Java Socket编程是网络编程的...
Socket编程在C#中是一种常见的网络通信方式,它允许应用程序通过网络发送和接收数据。C#的Socket类库提供了一套完整的接口,用于实现TCP(传输控制协议)和UDP(用户数据报协议)等网络通信协议。下面我们将深入探讨...
这里个解决方案里有几个工程,分别介绍了socket中tcp、udp的简单应用,可以方便查找代码
本篇文章将深入探讨SuperSocket的核心组件、功能特性以及如何通过示例应用进行实践操作。 一、SuperSocket概述 SuperSocket是一个轻量级、高度可扩展的C#套接字服务器开发框架,适用于多种类型的网络应用程序,如...
在VC++环境中,套接字(Socket)是网络编程中的基本元素,用于实现进程间的通信。这个示例展示了如何在Windows环境下使用Visual C++(VC)进行基于套接字的网络通信,特别是在处理错误时,如何实现一个带有接收错误...