- 浏览: 1476858 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (691)
- linux (207)
- shell (33)
- java (42)
- 其他 (22)
- javascript (33)
- cloud (16)
- python (33)
- c (48)
- sql (12)
- 工具 (6)
- 缓存 (16)
- ubuntu (7)
- perl (3)
- lua (2)
- 超级有用 (2)
- 服务器 (2)
- mac (22)
- nginx (34)
- php (2)
- 内核 (2)
- gdb (13)
- ICTCLAS (2)
- mac android (0)
- unix (1)
- android (1)
- vim (1)
- epoll (1)
- ios (21)
- mysql (3)
- systemtap (1)
- 算法 (2)
- 汇编 (2)
- arm (3)
- 我的数据结构 (8)
- websocket (12)
- hadoop (5)
- thrift (2)
- hbase (1)
- graphviz (1)
- redis (1)
- raspberry (2)
- qemu (31)
- opencv (4)
- socket (1)
- opengl (1)
- ibeacons (1)
- emacs (6)
- openstack (24)
- docker (1)
- webrtc (11)
- angularjs (2)
- neutron (23)
- jslinux (18)
- 网络 (13)
- tap (9)
- tensorflow (8)
- nlu (4)
- asm.js (5)
- sip (3)
- xl2tp (5)
- conda (1)
- emscripten (6)
- ffmpeg (10)
- srt (1)
- wasm (5)
- bert (3)
- kaldi (4)
- 知识图谱 (1)
最新评论
-
wahahachuang8:
我喜欢代码简洁易读,服务稳定的推送服务,前段时间研究了一下go ...
websocket的helloworld -
q114687576:
http://www.blue-zero.com/WebSoc ...
websocket的helloworld -
zhaoyanzimm:
感谢您的分享,给我提供了很大的帮助,在使用过程中发现了一个问题 ...
nginx的helloworld模块的helloworld -
haoningabc:
leebyte 写道太NB了,期待早日用上Killinux!么 ...
qemu+emacs+gdb调试内核 -
leebyte:
太NB了,期待早日用上Killinux!
qemu+emacs+gdb调试内核
看完nio再回忆一下破铜socket
import java.net.*; import java.io.*; public class Server { private ServerSocket ss; private Socket socket; private BufferedReader in; private PrintWriter out; public Server() { try { ss = new ServerSocket(10000); while (true) { socket = ss.accept(); String RemoteIP = socket.getInetAddress().getHostAddress(); String RemotePort = ":" + socket.getLocalPort(); System.out.println("A client come in!IP:" + RemoteIP + RemotePort); in = new BufferedReader(new InputStreamReader(socket.getInputStream())); String line = in.readLine(); System.out.println("Cleint send is :" + line); out = new PrintWriter(socket.getOutputStream(), true); out.println("Your Message Received!"); out.close(); in.close(); socket.close(); } } catch (IOException e) { out.println("wrong"); } } public static void main(String[] args) { new Server(); } };
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket; public class Client { Socket socket; BufferedReader in; PrintWriter out; public Client() { try { System.out.println("Try to Connect to 127.0.0.1:10000"); socket = new Socket("127.0.0.1", 10000); System.out.println("The Server Connected!"); System.out.println("Please enter some Character:"); BufferedReader line = new BufferedReader(new InputStreamReader(System.in)); out = new PrintWriter(socket.getOutputStream(), true); out.println(line.readLine()); in = new BufferedReader(new InputStreamReader( socket.getInputStream())); System.out.println(in.readLine()); out.close(); in.close(); socket.close(); } catch (IOException e) { out.println("Wrong"); } } public static void main(String[] args) { new Client(); } };
发表评论
-
tomcat的https的例子
2016-09-22 17:50 459参考http://jingyan.baidu.com/arti ... -
jpa
2014-11-25 20:14 576可以使用jpa生成数据库表 import javax.pe ... -
hadoop复习 1搭建
2014-07-23 17:38 780参考http://hadoop.apache.org/docs ... -
jspwebshell
2014-06-20 12:35 6722<%@ page contentType=" ... -
jvm总结
2013-03-04 19:02 1736分代 年轻代: 所有新生 ... -
java的upload
2013-01-24 19:31 1961好久没写java的东西了 遇到个服务器,不是标准的httpSe ... -
spring lucene rmi例子
2012-09-18 16:24 1901http://www.blogjava.net/freeman ... -
jna的使用
2012-04-22 21:06 2911遇到java调用共享内存的 ... -
hessian
2012-04-10 10:40 919http://hessian.caucho.com/ 这个好 ... -
jvm调优应该知道的一点东西
2012-02-27 18:13 1261概念 概念 Java 工具 jsta ... -
java socket备份
2012-02-22 10:01 1060package org.hao; import java ... -
java操作内存
2011-12-29 00:57 5183How To Write Directly to a Memo ... -
单例模式7中
2011-12-28 09:56 919package com.sohu.zookeeper; // ... -
jprofiler6远程resin
2011-07-07 23:17 2695网上找的破解码:L-Larry_Lau@163.com#784 ... -
eclipse不装插件配置resin,可以debug
2011-06-27 23:41 1830新建java工程 1.目录如下 G:. ├─.settings ... -
session所有信息
2011-06-07 11:32 787转载http://www.99inf.net/Software ... -
看端口号用netstat -abn
2011-05-14 00:27 1306张孝祥讲过个fport,到哪都依赖他看端口被什么占用, 原来n ... -
hessian的helloworld
2011-05-12 11:02 1194参考http://hessian.caucho.com/#Ex ... -
resin日志
2011-05-03 14:40 1462resin-pro-3.1.9\conf\resin.conf ... -
maven-resin
2011-05-02 22:39 2341关于resin http://2hei.net/mt/2008 ...
相关推荐
本文将深入探讨如何利用IOCP进行大并发服务器开发,并结合普通socket TCP客户端源代码,阐述整个通信流程。 IOCP的核心优势在于其异步非阻塞I/O模型,它允许一个线程处理多个I/O请求,从而极大地提高了系统资源利用...
首先,普通Socket客户端基于BIO(Blocking I/O)模型,它在等待数据读写时会阻塞线程,直到I/O操作完成。这意味着如果服务器响应较慢或者网络延迟较高,客户端线程会被占用,无法处理其他请求,降低了系统的并发能力...
4. **包装Socket**:使用创建的SSL上下文将普通Socket包装成SSL Socket,如Python的`ssl.wrap_socket()`。 5. **进行握手**:调用SSL Socket的`connect()`方法,开始SSL/TLS握手。握手成功后,数据就可以在安全通道...
- 应用层协议如HTTPS、SMTPS等是在普通Socket之上添加SSL/TLS层实现的。 8. **并发服务器实现** - **单线程模型**:一个线程处理所有连接,适用于连接请求较少的情况。 - **多线程模型**:每个连接由单独的线程...
在Java中,我们可以使用`javax.net.ssl.SSLSocketFactory`来创建一个SSL Socket实例,或者在创建普通Socket后,通过`SSLSocket.startHandshake()`来开启SSL/TLS握手过程。 在实际开发中,为了简化这些操作,我们...
邮箱SMTP发信和IMAP收信源码,支持SSL加密和普通Socket 支持25/465/143/993等类型的端口,支持SSL加密通信和Socket普通通信。 SMTP为发邮件协议,IMAP为收邮件协议。
使用SSLSocket的getInputStream()和getOutputStream()方法获取输入流和输出流,然后像普通Socket那样进行读写: ```java BufferedReader in = new BufferedReader(new InputStreamReader(sslSocket.getInputStream...
4. 创建Socket连接:与服务器建立普通Socket连接。 5. 创建SSL连接对象:使用`SSL_new()`,关联到Socket。 6. SSL握手:调用`SSL_connect()`进行握手。 7. 数据传输:使用`SSL_read()`和`SSL_write()`进行加密通信。...
普通Socket的用法 Java中的网络通信时通过Socket实现的,Socket分为ServerSocket和Socket两大类,ServerSocket用于服务器端,可以通过accept方法监听请求,监听请求后返回Socket,Socket用于完成具体数据传输...
文章中提到,64位Sempron 3400+作为AMD当时最高端的低端产品,外观上与普通Socket 754接口的Sempron无异。它具有PR值3400+,代表其性能指标。通过工具如CPU-Z可以进一步检测处理器的具体信息。 综上所述,AMD的64位...
1. `javax.net.ssl.SSLServerSocket` 和 `javax.net.ssl.SSLSocket`:这两个类分别代表SSL服务器端和客户端的套接字,它们提供比普通Socket更高级别的安全保障。 2. `javax.net.ssl.SSLContext`:这是SSL/TLS的核心...
Socket和Mina是Java网络编程中的两个重要工具,它们在构建高性能、高并发的网络应用中发挥着关键作用。Socket是TCP/IP通信的基础,而Mina是一个高效的网络应用框架,它简化了网络编程的复杂性。 Socket,也被称为套...
8. **套接字API集成**:`SSLSocket`通常会封装标准的socket API,提供与普通socket相似但带有SSL/TLS功能的接口。 9. **异步操作**:在某些情况下,SSL/TLS操作可能需要异步执行,比如在等待网络数据时,允许其他...
- **SecretSocket.java**:封装了普通Socket,实现了加密和解密的功能。 - **SecretSocketServer.java**:服务器端代码,接收来自客户端的数据并解密。 - **SocketHandler.java**:处理客户端连接,创建`...
1. 创建安全套接字:使用`ssl.wrap_socket()`将普通socket封装为安全套接字。 2. SSL/TLS握手:建立加密连接,进行身份验证。 3. 加密通信:通过安全套接字进行加密的数据传输。 以上就是Python网络编程的一些核心...
通常,这样的库会提供套接字接口,允许开发者像使用普通SOCKET一样使用UDT。 接下来,我们将讨论如何在C#项目中集成和使用UDT库: 1. **导入库**:首先,你需要将`UDTLibary`添加到你的C#项目中,这可以通过引用已...
"普通的SOCKET多线程阻塞模型"是指使用标准的Socket接口,结合多线程技术实现的一种通信模型,它广泛应用于VC(Visual C++)开发环境中。在这一模型中,每个线程负责处理一个连接,当线程在进行读写操作时,如果数据...
Socket也可以像普通文件一样进行读写操作,这意味着可以使用标准的UNIX文件I/O函数来处理Socket。这些函数包括`read()`、`write()`、`lseek()`等,使得开发者能够更加灵活地控制数据传输过程。 #### 六、Socket...
在建立到HTTPS服务器的Socket连接后,我们需要将普通的Socket升级为SSL Socket,即进行SSL握手。这个过程包括客户端发送Hello消息,服务器回应,交换加密算法,验证服务器证书,协商会话密钥等步骤。一旦握手成功,...
本案例是使用Java和MyEclipse开发的一个普通Web项目,实现了从前台(浏览器或客户端)到后台(服务器)的数据交互。 首先,我们需要理解Socket的工作原理。Socket可以看作是两台计算机之间的通信管道,一端是服务器...