`
haoningabc
  • 浏览: 1476858 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

普通socket

    博客分类:
  • java
阅读更多
看完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();
	}
};

分享到:
评论

相关推荐

    windows IOCP完成端口大并发服务器开发+普通socket tcp客户端 源代码.zip

    本文将深入探讨如何利用IOCP进行大并发服务器开发,并结合普通socket TCP客户端源代码,阐述整个通信流程。 IOCP的核心优势在于其异步非阻塞I/O模型,它允许一个线程处理多个I/O请求,从而极大地提高了系统资源利用...

    一般Socket客户端与Mina NIO Socket客户端对比示例

    首先,普通Socket客户端基于BIO(Blocking I/O)模型,它在等待数据读写时会阻塞线程,直到I/O操作完成。这意味着如果服务器响应较慢或者网络延迟较高,客户端线程会被占用,无法处理其他请求,降低了系统的并发能力...

    TLS/SSL Socket 实现

    4. **包装Socket**:使用创建的SSL上下文将普通Socket包装成SSL Socket,如Python的`ssl.wrap_socket()`。 5. **进行握手**:调用SSL Socket的`connect()`方法,开始SSL/TLS握手。握手成功后,数据就可以在安全通道...

    Linux Socket

    - 应用层协议如HTTPS、SMTPS等是在普通Socket之上添加SSL/TLS层实现的。 8. **并发服务器实现** - **单线程模型**:一个线程处理所有连接,适用于连接请求较少的情况。 - **多线程模型**:每个连接由单独的线程...

    用java socket实现smtp邮件发送,支持SSL

    在Java中,我们可以使用`javax.net.ssl.SSLSocketFactory`来创建一个SSL Socket实例,或者在创建普通Socket后,通过`SSLSocket.startHandshake()`来开启SSL/TLS握手过程。 在实际开发中,为了简化这些操作,我们...

    易语言-易语言邮箱SMTP发信和IMAP收信源码 支持SSL加密和普通Socket

    邮箱SMTP发信和IMAP收信源码,支持SSL加密和普通Socket 支持25/465/143/993等类型的端口,支持SSL加密通信和Socket普通通信。 SMTP为发邮件协议,IMAP为收邮件协议。

    SSLSocketAndroid通信

    使用SSLSocket的getInputStream()和getOutputStream()方法获取输入流和输出流,然后像普通Socket那样进行读写: ```java BufferedReader in = new BufferedReader(new InputStreamReader(sslSocket.getInputStream...

    VC工程,ssl通讯socket,服务端和客户端,简单易懂。

    4. 创建Socket连接:与服务器建立普通Socket连接。 5. 创建SSL连接对象:使用`SSL_new()`,关联到Socket。 6. SSL握手:调用`SSL_connect()`进行握手。 7. 数据传输:使用`SSL_read()`和`SSL_write()`进行加密通信。...

    Java中的Socket的用法

     普通Socket的用法  Java中的网络通信时通过Socket实现的,Socket分为ServerSocket和Socket两大类,ServerSocket用于服务器端,可以通过accept方法监听请求,监听请求后返回Socket,Socket用于完成具体数据传输...

    低端64位CPU选秀实录——64位闪龙VS64位赛扬D.pdf

    文章中提到,64位Sempron 3400+作为AMD当时最高端的低端产品,外观上与普通Socket 754接口的Sempron无异。它具有PR值3400+,代表其性能指标。通过工具如CPU-Z可以进一步检测处理器的具体信息。 综上所述,AMD的64位...

    SSL及HTTPS协议_world_java_https客户端_ssl_distancemiy_

    1. `javax.net.ssl.SSLServerSocket` 和 `javax.net.ssl.SSLSocket`:这两个类分别代表SSL服务器端和客户端的套接字,它们提供比普通Socket更高级别的安全保障。 2. `javax.net.ssl.SSLContext`:这是SSL/TLS的核心...

    socket 与 mina 交互数据

    Socket和Mina是Java网络编程中的两个重要工具,它们在构建高性能、高并发的网络应用中发挥着关键作用。Socket是TCP/IP通信的基础,而Mina是一个高效的网络应用框架,它简化了网络编程的复杂性。 Socket,也被称为套...

    sslsock.rar_them

    8. **套接字API集成**:`SSLSocket`通常会封装标准的socket API,提供与普通socket相似但带有SSL/TLS功能的接口。 9. **异步操作**:在某些情况下,SSL/TLS操作可能需要异步执行,比如在等待网络数据时,允许其他...

    用Java的加密机制来保护你的数据——转

    - **SecretSocket.java**:封装了普通Socket,实现了加密和解密的功能。 - **SecretSocketServer.java**:服务器端代码,接收来自客户端的数据并解密。 - **SocketHandler.java**:处理客户端连接,创建`...

    python网络

    1. 创建安全套接字:使用`ssl.wrap_socket()`将普通socket封装为安全套接字。 2. SSL/TLS握手:建立加密连接,进行身份验证。 3. 加密通信:通过安全套接字进行加密的数据传输。 以上就是Python网络编程的一些核心...

    c# UDT调用封装

    通常,这样的库会提供套接字接口,允许开发者像使用普通SOCKET一样使用UDT。 接下来,我们将讨论如何在C#项目中集成和使用UDT库: 1. **导入库**:首先,你需要将`UDTLibary`添加到你的C#项目中,这可以通过引用已...

    普通的SOCKET多线程阻塞模型

    "普通的SOCKET多线程阻塞模型"是指使用标准的Socket接口,结合多线程技术实现的一种通信模型,它广泛应用于VC(Visual C++)开发环境中。在这一模型中,每个线程负责处理一个连接,当线程在进行读写操作时,如果数据...

    socket库函数

    Socket也可以像普通文件一样进行读写操作,这意味着可以使用标准的UNIX文件I/O函数来处理Socket。这些函数包括`read()`、`write()`、`lseek()`等,使得开发者能够更加灵活地控制数据传输过程。 #### 六、Socket...

    打开socket 下载https文件

    在建立到HTTPS服务器的Socket连接后,我们需要将普通的Socket升级为SSL Socket,即进行SSL握手。这个过程包括客户端发送Hello消息,服务器回应,交换加密算法,验证服务器证书,协商会话密钥等步骤。一旦握手成功,...

    socket案例

    本案例是使用Java和MyEclipse开发的一个普通Web项目,实现了从前台(浏览器或客户端)到后台(服务器)的数据交互。 首先,我们需要理解Socket的工作原理。Socket可以看作是两台计算机之间的通信管道,一端是服务器...

Global site tag (gtag.js) - Google Analytics