`
tw5566
  • 浏览: 458945 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

java socket知识1

    博客分类:
  • java
阅读更多
服务端代码:
--------------========================================================
package com.tw.socke.server;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * <p>服务端简单演示(1)
 *  简要说明socket:
 *  所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。
		应用程序通常通过"套接字"向网络发出请求或者应答网络请求。 
		Socket和ServerSocket类库位于java.net包中。
		ServerSocket用于服务器端,Socket是建立网络连接时使用的。
		在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。
		对于一个网络连接来说,套接字是平等的,并没有差别,不因为在服务器端或在客户端而产生不同级别。
		不管是Socket还是ServerSocket它们的工作都是通过SocketImpl类及其子类完成的
 * </p>
 * @author tw 2009-05-08
 * 
 *
 */
public class SockeServer_demo_1 {

	/**
     * 注意:Socket的发送与接收是需要同步进行的,即客户端发送一条信息,服务器必需先接收这条信息,
     *      而后才可以向客户端发送信息,否则将会有运行时出错。
     * @param args
     */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		ServerSocket ss = null;
        try {
            ss = new ServerSocket(8888);
            //服务器接收到客户端的数据后,创建与此客户端对话的Socket
            Socket socket = ss.accept();
            //用于向客户端发送数据的输出流
            DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
            //用于接收客户端发来的数据的输入流
            DataInputStream dis = new DataInputStream(socket.getInputStream());
            System.out.println("服务器接收到客户端的连接请求:" + dis.readUTF());
            //服务器向客户端发送连接成功确认信息
            dos.writeUTF("接受连接请求,连接成功!");
            //不需要继续使用此连接时,关闭连接
            socket.close();
            ss.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
	}
}



客户端代码:
-----------------------------------------------------------
package com.tw.socke.client;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
/**
 * <p>客户端简单演示(1)
 *  简要说明socket:
 *  所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。
		应用程序通常通过"套接字"向网络发出请求或者应答网络请求。 
		Socket和ServerSocket类库位于java.net包中。
		ServerSocket用于服务器端,Socket是建立网络连接时使用的。
		在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。
		对于一个网络连接来说,套接字是平等的,并没有差别,不因为在服务器端或在客户端而产生不同级别。
		不管是Socket还是ServerSocket它们的工作都是通过SocketImpl类及其子类完成的
 * </p>
 * @author tw 2009-05-08
 * 
 *
 */
public class SockeClient_demo_1 {
	
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Socket socket = null;
        try {
            socket = new Socket("localhost",8888);
            //获取输出流,用于客户端向服务器端发送数据
            DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
            //获取输入流,用于接收服务器端发送来的数据
            DataInputStream dis = new DataInputStream(socket.getInputStream());
            //客户端向服务器端发送数据
            dos.writeUTF("我是客户端,请求连接!");
            //打印出从服务器端接收到的数据
            System.out.println(dis.readUTF());
            //不需要继续使用此连接时,记得关闭哦
            socket.close();
        } catch (UnknownHostException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
	}

}
分享到:
评论
2 楼 cncfophp 2010-04-28  
不错。学习学习
1 楼 ghoslation 2009-07-14  
很经典的socket代码.
不过LZ应该把close方法写到final里.

相关推荐

    JAVA Socket编程实现文件上传

    1. **Java Socket基础**:Socket是TCP/IP协议的应用层接口,用于实现两台机器之间的数据传输。在Java中,`java.net.Socket`和`java.net.ServerSocket`类是进行Socket通信的核心。ServerSocket监听特定端口,等待...

    Java Socket 实现SMTP邮件发送,支持SSL/TSL

    1. **Java Socket类**:Java的`java.net.Socket`类是网络通信的基础,它代表了客户端与服务器之间的连接。创建Socket实例时,需要指定服务器的IP地址和端口号,然后就可以通过Socket的输入/输出流进行数据交换。 2....

    通过java socket实现屏幕网络监控

    1. Java Socket编程基础:包括ServerSocket和Socket的使用,以及连接建立和断开。 2. 图像处理:如何捕获屏幕、编码和解码图像,以及选择合适的编码格式。 3. 多线程编程:在捕获屏幕和发送数据之间保持良好的并发性...

    java socket 中文教程

    本教程将深入探讨Java Socket的相关知识点,旨在帮助开发者理解和掌握如何在Java环境中构建网络应用程序。 一、Socket基础 Socket在计算机网络中扮演着桥梁的角色,连接了两个网络进程进行数据传输。Java Socket类...

    Java Socket 实用教程

    6. **Java套接字编程**:Socket套接字—Java套接字编程(上1).chm可能深入讲解了Socket编程的具体步骤和实例,包括Socket的生命周期、连接管理和数据交换。 7. **TCP协议**:网络协议—Java网络编程之传输控制协议...

    java socket 学习资料

    以下是一些关于Java Socket的重要知识点: 1. **Socket类与ServerSocket类**: - `Socket`类代表网络通信中的客户端,用于连接服务器。 - `ServerSocket`类则代表服务器端,监听特定端口上的连接请求。 2. **...

    Java Socket传输图片源代码

    "Java Socket传输图片源代码"这个主题涵盖了以下几个关键知识点: 1. **Java Socket基础**: - Socket是TCP/IP协议族的一部分,用于在网络应用程序之间建立双向通信通道。Java的`java.net.Socket`类和`...

    java socket 编程文档

    本文将深入探讨Java Socket编程的基础知识、关键概念以及如何在实践中应用。 一、Socket概述 Socket,也被称为套接字,是网络通信的端点,可以理解为两个应用程序之间的连接通道。在Java中,Socket类(java.net....

    Java Socket聊天室

    1. **Java Socket**: Java Socket是Java网络编程的基础,它是TCP/IP协议的Java实现。Socket提供了两台计算机之间通信的端点,允许它们交换数据。在Java中,Socket类和ServerSocket类是主要的两个类,分别用于...

    JAVA SOCKET 编码实例

    在"JAVA SOCKET 编码实例"中,我们可能遇到以下关键知识点: 1. **ServerSocket创建与监听**:首先,服务器端需要创建一个ServerSocket对象,指定一个端口号,然后调用其`accept()`方法开始监听。`accept()`方法会...

    java socket 长连接实例

    Java Socket 是一种基于TCP协议的低级网络通信接口,它允许两台计算机通过网络进行双向通信。在Java中,Socket提供了面向连接的、可靠...理解并掌握这些知识点,将有助于你构建稳定、高效的Java Socket长连接应用程序。

    java Socket 编程源码

    以下是一些核心的Socket编程知识点: 1. **连接与断开**: - `Socket.connect()`方法用于客户端建立到服务器的连接。 - `ServerSocket.accept()`方法在服务器端等待并接受客户端的连接请求。 - `Socket.close()`...

    java socket 大文件传输,快速传输(包的分片,组装)源码

    Java Socket 大文件传输是网络编程中的一个关键领域,它涉及到高效的数据传输、包的分片与组装,以及网络协议的选择。在这个场景下,我们通常会用到TCP和UDP这两种传输层协议,以及Java的非阻塞I/O(NIO)技术。下面...

    Java socket聊天程序 有界面

    1. **Java Socket API**: Java Socket是Java提供的网络编程接口,它允许两台计算机通过网络进行双向通信。Socket分为ServerSocket和Socket两种类型,ServerSocket用于监听客户端连接,Socket则代表一个客户端与...

    java socket查询数据库实现登录验证

    总结,Java Socket查询数据库实现登录验证涉及了网络编程、数据库操作以及安全性策略等多个知识点。理解并掌握这些内容对于开发安全、可靠的网络应用至关重要。在实际项目中,还需要注意异常处理、性能优化以及安全...

    java socket通信自定义消息协议

    总的来说,Java Socket通信自定义消息协议涉及网络编程基础、数据结构设计以及异常处理等多方面知识。通过这个过程,我们可以灵活地构建满足特定需求的通信系统,实现客户端和服务器间的高效交互。

    java socket通讯程序源码

    Java Socket通信程序源码是Java网络编程中一个重要的学习领域,它主要用于实现两台计算机之间的数据传输。...为了更深入学习,你可以下载提供的源文件1,分析和运行代码,结合理论知识,实践是检验理解的最佳方式。

    java socket 图片传输

    ### Java Socket 图片传输知识点详解 #### 一、TCP协议简介 传输控制协议(Transmission Control Protocol,TCP)是一种面向连接的、可靠的、基于字节流的传输层通信协议。在互联网的应用中,TCP协议提供了一种...

    java socket聊天室

    以下是关于Java Socket聊天室的一些核心知识点: 1. **Socket概念**:Socket是网络通信中的一个端点,用于标识网络上的进程。在Java中,`java.net.Socket`类代表TCP协议的套接字,而`java.net.ServerSocket`则用于...

    JAVA Socket远程执行任务

    以下是关于Java Socket编程和远程执行任务的详细知识讲解。 1. **Java Socket基础**: - Java Socket是Java提供的网络编程接口,它允许两个应用程序通过TCP/IP协议进行双向通信。 - Socket分为ServerSocket和...

Global site tag (gtag.js) - Google Analytics