`

详解Socket连接的服务端和客户端

    博客分类:
  • Java
 
阅读更多
//服务端代码,Tomcat使用的也是socket
package com.socket.sym;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;

public class SocketServer {

	/**
	 * @param args
	 * @throws IOException 
	 */
	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		//指定某个应用的端口
      ServerSocket ss=new ServerSocket(8988);
      
      while(true){
      Socket socket=ss.accept();
      InputStream iStream=socket.getInputStream();
      BufferedReader br=new BufferedReader(new InputStreamReader(iStream));
      String str=br.readLine();
      System.out.println("客户端说:"+str);
      br.close();
      iStream.close();
      socket.close();
      }
	}
}
//客户端代码:
package com.socketclient.sym;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.Socket;
import java.net.UnknownHostException;


public class SocketClient {

	/**
	 * @param args
	 * @throws IOException 
	 * @throws UnknownHostException 
	 */
	public static void main(String[] args) throws UnknownHostException, IOException {
		/*
		 * 服务器的地址136.10.7.151;然后8988为服务器上某应用的指定端口
		 */
        Socket socket=new Socket("130.10.7.151",8988);
        OutputStream oStream=socket.getOutputStream();
        BufferedWriter bwBufferedWriter=new BufferedWriter(new OutputStreamWriter(oStream));
        bwBufferedWriter.write("你好,连上了吗");
        bwBufferedWriter.close();
        oStream.close();
        socket.close();
        
	}

}
/*
	 * Socket:通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。
	 * 每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。
	 * ICMP(Internet Control Message Protocol):它是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。
	 * 控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
	 * IGMP:Internet (Internet Group Management Protocol )组管理协议(IGMP)是因特网协议家族中的一个组播协议,用于 IP主机向任一个直接相邻的路由器报告他们的组成员情况。
	 * 它规定了处于不同网段的主机如何进行多播通信,其前提条件是路由器本身要支持多播。
	 * ARP:地址解析协议,(Address Resolution Protocol)是根据IP地址获取物理地址的一个TCP/IP协议。
	 * 其功能是:主机将ARP请求广播到网络上的所有主机,并接收返回消息,确定目标IP地址的物理地址,同时将IP地址和硬件地址存入本机ARP缓存中,下次请求时直接查询ARP缓存。
	 * 而如果返回消息是伪造的,由于ARP缓存的存在,就产生了ARP欺骗。ARP命令可用于查询本机ARP缓存、添加或删除静态对应关系等。
	 * 相关协议有RARP、代理ARP。NDP用于在IPv6中代替地址解析协议。
	 */

  • 大小: 22.6 KB
  • 大小: 26.4 KB
  • 大小: 24.6 KB
分享到:
评论

相关推荐

    python网络编程socket实现服务端、客户端操作详解

    使用`accept()`方法接收客户端的连接请求,返回一个新的Socket对象(用于与客户端通信)和客户端的地址信息。 ```python conn, addr = server.accept() ``` 5. **收发数据**: 通过新建立的连接对象`conn`,...

    java socket长连接客户端服务端(标准实例)

    ### Java Socket 长连接客户端和服务端实现 在Java中,使用Socket进行网络通信是一种非常常见的技术手段。本文将详细解读“Java Socket长连接客户端服务端(标准实例)”的相关知识点,包括其实现原理、代码解析及...

    Android socket实现原理详解 服务端和客户端如何搭建

    建立Socket(客户端)和ServerSocket(服务器端) 建立连接后,通过Socket中的IO流进行数据的传输 关闭socket 同样,客户端与服务器端是两个独立的应用程序。 服务器端思路 1、建立服务器端的socket服务,需要一个端口 2...

    基于.net聊天室服务端和客户端

    Socket类允许开发者创建TCP或UDP连接,进行双向数据传输,是构建聊天室客户端和服务端的关键。 在本项目中,服务端(Server)负责监听客户端(Client)的连接请求,管理多个客户端连接,并广播消息给所有在线用户。...

    Netty的Socket编程详解-搭建服务端与客户端并进行数据传输示例代码.rar

    在本文中,我们将深入探讨Netty如何利用Socket编程实现服务端与客户端的通信,并通过示例代码来展示其具体实现过程。 首先,Socket编程是网络通信的基础,它提供了进程间的通信能力,允许不同计算机上的程序之间...

    supersocket 服务端控制台与客户端winform案例

    《SuperSocket服务端控制台与客户端WinForm案例详解》 在.NET开发领域,SuperSocket是一个功能强大且易于使用的开源套接字服务器框架,它为开发者提供了构建基于TCP/IP协议的应用程序的强大工具。本案例主要围绕...

    xfire 服务端和客户端源码完整工程

    1. **网络通信模块**:使用了Socket编程实现客户端与服务端的连接,处理TCP/IP协议,确保数据的可靠传输。 2. **用户管理模块**:包括用户注册、登录验证、状态更新等功能,这部分代码涉及数据库操作,可能使用了如...

    telnet服务端和客户端源代码

    **telnet服务端和客户端源代码详解** Telnet是一种基于TCP协议的应用层协议,用于提供远程登录服务。它允许用户通过网络在一台计算机上(服务器)进行操作,就像直接坐在那台计算机前面一样。这个“telnet服务端和...

    java_socket服务端和客户端编程.doc

    ### Java Socket服务端和客户端编程知识点详解 #### 一、网络编程基础概念 在Java网络编程中,**Socket**是实现客户端与服务器间通信的重要工具。网络编程主要涉及两个核心问题: 1. **准确定位网络上的主机**:...

    【良心出品】Socket服务端和客户端XML生成与解析java代码.doc

    ### Socket服务端和客户端XML生成与解析Java代码详解 #### 一、概述 在现代软件开发中,网络通信是不可或缺的一部分。Java作为一种广泛使用的编程语言,提供了强大的网络编程支持,其中包括了Socket编程技术。本文...

    C# 基于MQTTNet的服务端与客户端通信案例

    MQTT服务端,通常被称为MQTT Broker,是连接发布者和订阅者的核心组件。在C#中,我们可以使用MQTTNet库来创建一个MQTT Broker。以下是一些关键步骤: 1. 安装MQTTNet库:通过NuGet包管理器或在项目文件中添加依赖,...

    基于服务端与客户端的商品管理系统

    《基于服务端与客户端的商品管理系统详解》 在信息化飞速发展的今天,商品管理系统的应用已经深入到各行各业。本文将详细探讨一个基于服务端与客户端架构的商品管理系统,它涵盖了商品的出库、入库、查询等一系列...

    C# socket通讯服务端

    在实际开发中,C# Socket服务端还需要考虑以下关键点: - **并发处理**:当多个客户端同时连接时,服务端必须能够有效地管理这些连接,避免阻塞和资源浪费。多线程或异步编程模型可以用来实现并发。 - **错误处理...

    MFC网络编程(服务端和客户端的通讯)

    《MFC网络编程:服务端与客户端通讯详解》 MFC(Microsoft Foundation Classes)是微软提供的一个C++类库,用于构建Windows应用程序。在MFC框架下进行网络编程,可以帮助开发者快速实现服务端和客户端之间的通信,...

    java聊天工具服务端和客户端加面板完整代码

    1. **连接服务端**:客户端首先需要创建`Socket`对象,指定服务端的IP地址和端口号,与服务器建立连接。 2. **数据交互**:与服务端类似,客户端也需要使用`InputStream`和`OutputStream`来收发数据。可以利用`...

    c++开发的聊天软件(linux平台下的基于socket的服务端和基于QT的客户端).zip

    《C++开发的聊天软件——Linux平台下的Socket服务端与QT客户端详解》 在嵌入式Linux开发领域,网络通信是不可或缺的一部分,本项目“c++开发的聊天软件”就是一个典型的例子,它展示了如何在Linux环境下利用C++编程...

    c#写的iocp服务端和客户端代码

    **C#编写的IOCP服务端与客户端代码详解** IOCP(I/O完成端口,Input/Output Completion Port)是Windows系统中一种高效的异步I/O模型,常用于高并发的网络服务。C#作为.NET框架下的编程语言,提供了丰富的库支持来...

    C++实现网络编程 服务端与客户端原代码

    接下来需要将Socket绑定到特定的IP地址和端口上,以便其他客户端能够找到这个服务端。 ```cpp SOCKADDR_IN addrSrv; addrSrv.sin_family = AF_INET; addrSrv.sin_port = htons(6000); // 设置监听端口号 addrSrv.sin...

Global site tag (gtag.js) - Google Analytics