Java 中 Socket 通信

C Socket与Java Socket之间的通信 问题描述:拟在服务器上利用c或c++来编写服务器端程序,在android手机上编写客户端程序,实现通过手机客户端来访问服务器上的资源。由于在c中socket的使用方式跟Java中有一些不同,c中的使用方式比较麻烦,java中相对简单。本文中服务器端的环境是linux。若是windows,C Socket的使用方式会稍有不同。 Socket介绍 Socket(套接字)相当于一种特殊的IO。只不过 阅读详情

1、在服务器端与客户端通信之前必须先保证服务器连接成功

a、创建一个服务器端程序 :

package com.sunplus.app;

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

public class TcpServer {
    private ServerSocket serverSocket = null;
    private final int port = 10004; 

    private static TcpServer instance = null;
    static {
        instance = new TcpServer();
    }

    private TcpServer() {
    }

    public static TcpServer getInstance() {
        return instance;
    }

    public static void main(String[] args) throws Exception {

        getInstance().createSocket();

    }

    private void createSocket() {
        try {
            serverSocket = new ServerSocket(port); // 设置服务器端口号
            getInfo();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    /**
     * 接收客户端数据
     */
    private void getInfo() {
        try {
            Socket socket = serverSocket.accept();
            InputStream in = socket.getInputStream();
            byte[] buffer = new byte[1024];
            int len = 0;
            while ((len = in.read(buffer)) != -1) {
                System.out.println(new String(buffer, 0, len));
            }
            socket.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}
b、创建一个客户端程序:

package com.sunplus.app;

import java.io.IOException;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;

public class TcpClient {
    public static void main(String[] args) {
        writeData();
    }

    private static void writeData() {
        Socket socket = null;
        try {
            socket = new Socket("172.20.224.12", 10004);
            OutputStream os = socket.getOutputStream();
            os.write("Hello".getBytes()); // 向服务器发送数据
        } catch (UnknownHostException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (socket != null)
                try {
                    socket.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
        }

    }
}


Java实现Socket双向通信 Java实现Socket双向通信服务端代码客户端实现常量类 服务端代码 /** * <p>项目名称:Socket双向通信</p> * <p>模块名称:Socket服务端</p> * 1、创建ServerSocket对象并绑定监听端口 * 2、调用serverSocket.accept(),作用:阻塞侦听客户端请求,并返回一个Socket对... 阅读详情

相关推荐

Java中的Socket通信

1.TCP 是传输控制协议的缩写,它保障了两个应用程序之间的可靠通信。 通常用于互联网协议,被称 TCP/IP。 2.Socket套接字使用TCP提供了两台计算机之间的通信机制。 客户端程序创建一个套接字,并尝试连接服务器的套接字。 3.当连接建立时,服务器会创建一个 Socket 对象。客户端和服务器现在可以通过对 Socket 对象的写入和读取来进行通信。 4.java.net.Socket 类代表一个套接字,并且 java.net.ServerSocket 类为服务...

qq_46291038的博客 1181

Socket介绍及使用Java实现socket通信

使用Java实现socket通信。

weixin_49561506的博客 2万+

Java与C#基于Socket通信

由于Java在网络方便的巨大影响力,以及微软推出的Framework .net平台的应用不断扩大,使得Java与C#的网络通信变得愈来愈重要。本文主要介绍java与c#的Socket通信。Java的Socket通信模块由于封装的比较高级,用起来也比较舒服。但是C#虽然有TcpClient等类库的支持,但是要与java实现底层的socket通信任然比较麻烦。本文基于C#的Socket模块与Java的

fuxpfuxp的专栏 799

基于 Java 简单实现 Socket 通信

J3 - 白起 技术(TCP/IP # UDP # Socket) 最近开了个项目:https://gitee.com/j3_baiqi/communication 欢迎大家指点一下项目结构、编码问题、业务方向????????????????????????。 一、什么是 Socket 百科: 白话就是,基于网络通信协议所制定的交互接口(接口就是规范)。 既然是接口,那必然就有实现,所以本次所有讲述的就是用 Java 来实现的一种 Socket 通信。但实现之前还是要铺垫一下两个网络通信中的重要协议:

技术分享、唠嗑水文、如有不周、还望海涵 6308

JAVA通信socket/websocket

什么是Socket? 什么是WebSocket? java websocket android websocket使用 RabbitMQ Socket,用于描述IP地址和端口,是一个通信链的句柄,在Internet上的主机一遍运行了多个服务软件,同时提供几种服务,每种服务都打开一个Socket,并绑定在一个端口上,不同的端口对应不同的服务。 Socket 连接手机,安卓需设置访问网络权限 端口被占用解决:http://blog.youkuaiyun.com/xiaanming/article/details/

seven的博客 3186

Android上JAVA Socket通信解析(一)初识socket通信

1.简介 TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。TCP通信协议在通信的两端各建立一个Socket,从而在通信的两端之间形成虚拟链路,一旦建立了虚拟链路,两端的程序就能够通过虚拟链路进行通信。 Java语言对于基于TCP协议的网络通信提供了良好的封装,Java使用

wolfboy2的专栏 1187

Java之Socket通信

一、TCP/IP协议 TCP/IP是目前世界上应用最为广泛的协议,是以TCP和IP为基础的不同层次上多个协议的集合 也称:TCP/IP协议族 或 TCP/IP协议栈 TCP:Transmission Control Protocol 传输控制协议 IP:Internet Protocol 互联网协议 TCP/IP模型 应用层的协议: HTTP 超文文传输协议 FTP 文件传输协议 SMTP 简单邮件传输协议 Telnet 远程登录服务 IP地址 ...

小男孩儿的博客 2131

java socket一对多通信编程

先介绍一些基本常识。socket是基于TCP/IP协议的。通过IP协议找到目的主机,在通过TCP协议完成数据链路的联通。然后开始收发数据。(当然,个人理解。若有不对,敬请指正) socket的输入流是阻塞式的。在没有接受到数据之前会阻塞线程。 在java中 新建一个服务器端socket: ServerSocket serversocket = new ServerSocket(Port);//指定端口 新建一个客户端socket: Socket socket = new Socket(“hostname

JhinDeng 1559

java下的socket通信与C/C++下的socket通信

JAVA下的socket通信: 关键点: 由Socket对象得到输入流(即由另一方发过来的数据),此时构造BufferedReader对象 由Socket对象得到输出流(即发往另一方的数据),此时构造PrintWriter对象 客户端: public class Client { public static void main(String[] args) throws

成年老猿的专栏 805

基于Java语言实现Socket通信

基于Java语言实现Socket通信由于近日项目需求,需要在服务器中增加Socket通信的功能,接收硬件设备发送的心跳包和相关数据,因此又重新对Java的网络编程进行了复习,根据项目的实际情况做了简化的编程,实现了简单的通信过程。1. Socket通信原理源IP地址和目的IP地址以及源端口号和目的端口号的组合称为套接字。其用于标识客户端请求的服务器和服务。 以下是通过Socket套接字实现客户端与

JimmyU1的专栏 5396

Java 网络通信之 Socket 编程全解析

Java 的 Socket 编程为开发者提供了强大的网络通信能力,通过Socket类和类可以方便地实现客户端与服务器之间的连接与数据交换。在实际应用中,需要深入理解网络通信的基本概念,合理处理数据传输、编码以及多线程并发等问题,才能构建出高效、稳定的网络应用程序。无论是开发小型的网络工具还是大型的分布式系统,掌握 Java 的 Socket 编程都是至关重要的一步,希望本文能够为广大 Java 开发者在网络编程的学习与实践中提供有益的参考与帮助。

Java&AI小吕布的博客 1261

Java使用Socket进行通信

文章目录1.使用ServerSocket创建TCP服务器端2.使用Socket进行通信3.demo展示 1.使用ServerSocket创建TCP服务器端   使用tcp通信的两个通信实体之间没有服务器端、客户端之分。java中能接收其他通信实体连接请求的类是ServerSocket,通过ServerSocket对象可以监听来自其他实体的socket连接,若没有连接,则ServerSocket对象...

wobushixiaobailian的博客 1098

C Socket与Java Socket之间的通信——信息与通信

要实现C Socket与Java Socket之间的通信,我们需要在C端和Java端使用相同的协议和数据格式。因此,在C端和Java端之间进行通信时,可以使用相同的协议和数据格式。当C Socket接收到客户端的连接请求后,它可以接收到来自JavaSocket的消息,并给予相应的响应。然后,它监听连接请求,并在接受到客户端连接后,接收客户端的消息,并发送响应给客户端。通过以上的C Socket服务器和Java Socket客户端的示例代码,我们可以在C语言和Java语言之间实现基于Socket的通信。

IunScala的博客 209

java整合socket通信全流程

Socket通信是计算机网络中常用的一种通信机制,它是基于TCP/IP协议实现的,提供了两个应用程序之间通过网络进行数据交换的能力

小金的博客 1209

python 识别滑块验证码

博客来源于: https://www.cnblogs.com/wyh0923/p/16528354.html # -*- coding: utf-8 -*- # https://gov.pkulaw.cn/ 1. import io 2. import json 3. from pathlib import Path 4. from PIL import Image 5. import bas...

2102

数据标注的下一代SOP,可能不是Word,而是一段Prompt

再给几个反例:“这个只是正常纹理,不算。真正用于数据生产的Prompt,可能至少包含:任务定义、正例、反例、边界案例、优先级、输出格式、验收逻辑。一个项目100个人,如果100个人对这句话有100种理解,最后返工的就不是一个框,而可能是几十万帧数据。一个项目启动以后,项目经理先研究SOP,培训组长,组长再培训标注员,最后几百个人按照同一套规则干活。实际上一个成熟的项目经理,最重要的能力之一,就是:把客户的业务语言翻译成生产规则。真正让项目难交付的,从来不是80%的普通数据,而是那20%的长尾数据。

AI数据标注猿 295

java实现简单的Socket通信

先上一个简单的示意图,图中ServerSocket准确的说应该是Server。 Socket翻译成“套接字”比较难以理解,我觉得翻译称为插座比较合适, 两个程序可以通过插座之间通信,插进去就能联系上,至于Socket具体怎么实现的可以不用管,反正就是可以像电线一样传输数据就行! 首先是客户端,要先指定IP地址和port(端口)连接才能联系得上对应的服务器,因此,要想成功的联系上,就必须先把服务器启动了,再运行客户端,如果先启动了Client,就会爆“Exception, in ,thread “main”

weixin_46028606的博客 2149

【宠物识别系统】设计框架

能跑通的 Demo。收集 10,000 张同品种但不同个体的图片。训练ArcFace模型,验证准确率能否达到 99% 以上。搭建Milvus向量数据库。开发移动端 App/小程序。加入“图像质量检测”和“用户反馈纠错”功能。你是更偏向于做软件服务(如寻宠App、保险API),还是做软硬结合的产品(如智能喂食器)?这决定了我们下一步是深挖云端高并发架构,还是边缘端模型压缩。更偏向于软件,应用更广泛些,继续既然专注于纯软件/SaaS (Software as a Service) 方向。

百态·数智思维 | 聚焦大数据、量化与未来AI 1413

java socket 双向通信_java socket双向通信

服务器:import java.io.BufferedReader;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.net.ServerSocket;import java.ne...

weixin_32652107的博客 276

DNA pull-down技术避坑指南:从探针设计到质谱验证的完整实验方案

本文提供了一份详尽的DNA pull-down技术实战避坑指南,涵盖从探针设计、生物素标记、磁珠选择与预处理,到结合洗脱优化及下游质谱验证或Western Blot验证的全流程。重点解析了如何通过精细操作降低非特异性结合、提高实验特异性与重复性,并对比了质谱与WB两种验证路径的适用场景,旨在帮助研究者构建稳健可靠的DNA-蛋白质互作研究体系。

weixin_29274337的博客 493

【华为OD技术面试手撕真题】134、爬楼梯 | 手撕真题+思路参考+代码解析(C & C++ & Java & Python & JS)

【华为OD技术面试手撕真题】134、爬楼梯 | 手撕真题+思路参考+代码解析(C & C++ & Java & Python & JS) 华为od机试,华为od机试真题,华为od机试E卷,华为odE卷,华为od机试真题E卷,华为OD,华为OD机试,华为OD机试真题,华为od机考,华为od机试D卷,华为od机试真题D卷,华为od手撕代码,华为od,华为od机试C卷,华为od e卷,华为2025e卷,od机试,2025E卷,华为OD机试E卷,什么是华为od,华为od介绍,全面了解华为od,2025华为od,如何

KJ.JK 2183

java的socket通信安全_JAVA-Socket通信笔记

JAVA - Socket从开学到现在 也学了三个月时间的java了,一直在 在 语法和基本使用上周旋,井底之娃一枚。 这两天 有学长指点,花了两天的时间 学习了java多线程和socket的简单使用,利用周末时间 自己写了个 Socket 多客户端的 Demo,有很多不成熟或者不好的 地方,请指正。TCP 的 Java 支持协议相当于相互通信的程序间达成的一种约定,它规定了分组报文的结构、交换方...

weixin_42402664的博客 505

13、离散时间系统建模与分析

本文系统介绍了离散时间系统的建模与分析方法,涵盖连续时间模型的离散化过程、系统稳定性判断准则、输入输出模型转换方法以及有限脉冲响应和阶跃响应模型的应用。通过多个示例详细展示了不同系统在离散化过程中的特性变化,并探讨了采样间隔对系统动态特性的影响。此外,文章还分析了时间延迟的处理方法,并总结了关键知识点及操作步骤,为离散时间系统的实际应用提供了理论基础和实践指导。

2w3e4r5t6y的博客 188

Java中的Socket通信和HTTP通信有什麽不同

Socket通信和HTTP通信是两种不同的网络通信方式。Socket通信是一种面向连接的通信协议,可以传输任意格式的数据,而HTTP通信是一种基于TCP/IP协议的无连接的应用层协议,只能传输文本格式的数据。两种通信方式各有优缺点,选择哪种通信方式取决于具体的需求。

u013749113的博客 1287

索尼IMX316 标定_ToF模块相机校准

很多东西一开始给出去的并不是最优的方案,而是在客户端支持中,以及在持续不断的芯片验证中,发现还可以这么做,还能够再提升Sensor的性能,所以说这是一个持续的过程。曾经听说过一个故事,在某厂里ST产品一直作为第一供应商多年,然后近段时间即将被新兴公司的ToF产品所打败,性能报告已经出来,但是ST并没有更新产品,而是在原有产品更新了固件以及标定流程,此时产品的性能又是超越其他供应商的产品。相机矩阵不考虑镜头失真,因为理想的针孔相机没有镜头。为了准确地代表一个真实的相机,相机模型包括径向和切向的镜头畸变。

dream it possible 1153

i.MX6ULL系统移植 | 使用busybox制作根文件系统(1.29.0)

一. 下载BusyBox BusyBox是一个继承了大量Linux命令核工具的软件,像常用的ls、cp、mv、ifconfig等命令。一般下载BusyBox的源码,然后配置Busybox,选择自己想要的功能,最后编译即可。 BusyBox在官方可以直接下载:https://www.busybox.net/。目前最新是1.35.0,这里我使用1.29.0版本。 axel https://www.busybox.net/downloads/busybox-1.29.0.tar.bz2 下载之后解压: tar

Mculover666的博客(嵌入式) 1144
上一篇: android 解析Json数据前期步骤
下一篇: Java 中的关键字的使用
冰糖心书房
博客等级 码龄15年 6014粉丝 690原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冰糖心书房

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值