网络编程Scoket通信之简单模拟QQ对话!(控制台)

webscokt使用记录 我理解的webscokt的作用就是在前后端建立长连接,然后在后端设置定时任务就可以实现在前端不发请求的情况下更新前端数据。 下面是我使用的方法, 后端(springBoot): @Controller public class TestControllor { @Autowired private SimpMessagingTemplate template; @Scheduled(cron = "0/5 * * * * ? ")//定时任务 5秒钟一次 阅读详情

服务器:

package com.softeem.scokt;

import java.io.IOException;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;

public class ServerDemo
{
    public static void serverTest() {
        System.out.println("等待客户端链接。。。");
        ServerSocket ss = null;
        PrintWriter pw = null;
        Scanner sc = null;
        Scanner insc = null;
        try {
            //打开服务 指定端口号
            ss = new ServerSocket(8987);
            //从请求队列中取出一个连接
            Socket st = ss.accept();
            System.out.println(st.getInetAddress() + "成功连接上此服务器上。");
            //打印流写 socke获取输出流
            pw = new PrintWriter(st.getOutputStream());
            //使用打印流将字符串打印到控制台,不可使用system输出
            pw.println("成功连接到远程服务器!" + "\t" + "可以开始聊天了请先发言");
            pw.flush();
            sc = new Scanner(System.in);
            insc = new Scanner(st.getInputStream());
            //阻塞等待客户端发送消息过来
            while (insc.hasNext()) {
                String indata = insc.nextLine();
                System.out.println("ME客户端:" + indata);
                System.out.print("服务端:");
                String sdata = sc.nextLine();
                System.out.println("服务端:" + sdata);
                pw.println(sdata);
                pw.flush();
            }
        }
        catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        finally {
            //关闭资源
            pw.close();
            sc.close();
            insc.close();
            try {
                ss.close();
            }
            catch (IOException e) {
                // TODO Auto-generated catch block  
                e.printStackTrace();
            }
        }
    }

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        serverTest();
    }

}

客户端:

package com.softeem.scokt;


import java.io.IOException;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;
import java.util.Scanner;


public class ClientDemo
{


    public static void ClientTest() {
        System.out.println("正在向服务器请求连接。。。");
        Socket st = null;
        Scanner sc = null;
        Scanner insc = null;
        PrintWriter pw = null;


        try {
            //socket获取端口号
            st = new Socket(InetAddress.getLocalHost(), 8987);
            insc = new Scanner(st.getInputStream());
            System.out.println(insc.nextLine());
            pw = new PrintWriter(st.getOutputStream());
            System.out.print("ME客户端:");


            sc = new Scanner(System.in);
            //阻塞等待服务端发送消息过来
            while (sc.hasNext()) {
                String sdata = sc.nextLine();
                System.out.println("ME客户端:" + sdata);
                pw.println(sdata);
                pw.flush();
                String indata = insc.nextLine();
                System.out.println("服务端:" + indata);
                System.out.print("ME客户端:");
            }
        }
        catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        finally {
            //关闭资源
            pw.close();
            sc.close();
            insc.close();
            try {
                st.close();
            }
            catch (IOException e) {
                // TODO Auto-generated catch block  
                e.printStackTrace();
            }
        }
    }


    public static void main(String[] args) {
        // TODO Auto-generated method stub
        ClientTest();
    }


}


Socket通讯模拟工具 这个工具就是一个能在线模拟socket通讯工具,并且能检测通讯是否能正常响应和发送信息 立即下载

相关推荐

Socket实现qq聊天

通过socket编程,实现qq基本界面,可以添加删除好友,聊天等功能

Socket编程——功能类似QQ的Java聊天程序(文字聊天、传输文件)

实现功能 验证用户登录 两个用户间的文字聊天 多用户群聊 两个用户之间传输二进制文件 客户端和服务器间通信协议设计

qq_49588762的博客 1885

基于java socket网络编程实现的简单模拟qq聊天的程序,可实现并发聊天

基于java socket网络编程实现的简单模拟qq聊天的程序,可实现并发聊天,分为服务器和客户端两个部分

socket仿qq聊天工具(二)(扩展博客)

最近由于电脑出了点问题,学校那边临近毕业又一直有事耽误了不少的时间,这里就直接把所有的代码粘贴上来。附上运行结果,我要开始下面数据库的学习了。 由于这次的demo涉及到了两个项目,这里就直接把两个项目的项目结构都粘贴上来,这个阶段的项目我都是用Eclipse来完成的,等到javaweb阶段可能我就要换IDEA了。因为就这两个工具来说。现在肯定是IDEA占的市场要大,但是Eclipse也拥有除了IDEA以外最大的市场份额,而且Eclipse与IDEA相比Eclipse是最原生的,作为初学者建议用Eclipse

cdut2016的博客 499

网络编程聊天程序

该程序使用C语言实现该程序

网络编程作业(winsocket实现聊天程序)

研究生网络编程作业,所有的结构与代码均由自己实现,适合用于上交老师布置的聊天程序编写作业

Socket编程(三)---仿QQ多人聊天实例

这次的实例,目的是为了模仿QQ上和好友聊天的功能,也就是用户登录后,点击用户头像,发送信息,好友就会接受到信息。

记录 7589

Socket通信_java仿qq聊天_java_javasocket_javaqq_socket视频_

基于TCP协议,用Java语言,仿QQ通信,简单实现视频聊天及私聊功能

python模拟给qq发消息,python模拟QQ聊天--socket通信

使用udp协议,多线程socket网络编程实现本篇博客针对有一点socket编程基础的同学,采用的udp协议,为了实现收发信息的实时性,采用了多线程的方式,话不多说,直接上代码(我把该文件名命名为 qq.py):from socket import *from threading import Thread# 创建socket套接字udp = socket(family=AF_INET, type...

weixin_36344862的博客 1158

模仿QQ实现的聊天软件(可当做java大作业)

运用并发,网络编程,数据库,和swing综合写的聊天项目,模仿QQ页面,适合初学者学完javase之后的巩固,也可直接当做java大作业提交,其中数据库是Oracle,需要修改对应的数据库sql语句。驱动自行更改。

Arduino智能小灯DIY:人体感应+光线感应+蓝牙控制全攻略(附完整代码)

本文提供了一份完整的Arduino智能小灯DIY制作指南。项目融合了人体感应、光线感应与蓝牙控制三大功能,通过详细的硬件清单、电路连接图、核心逻辑讲解及附带的完整代码,手把手教你打造一个能自动感知环境与人、并支持手机远程控制的智能照明装置,是入门智能家居和物联网开发的绝佳实践。

java5的博客 1094

Java基础 网络编程

主要内容 软件架构CS/BS 网络通信三要素 TCP通信 Socket套接字 ServerSocket 教学目标 能够辨别UDP和TCP协议特点 能够说出TCP协议下两个常用类名称 能够编写TCP协议下字符串数据传输程序 能够理解TCP协议下文件上传案例 能够理解TCP协议下案例2 第一章 网络编程入门 1.1软件结构 C/S结构 :全称为Client/Server结构,是指客户端和服务器结构。...

kai46385076的专栏 337

计算机考研复试面试常问问题 数据结构篇(下)

计算机考研复试面试常问问题 数据结构篇(下) 使用前需知(拒绝白嫖,如果对你有帮助,你只需点个赞就行): 注意:有人在闲鱼上盗卖我的资料,而且还有很多同学买了,请各位擦亮双眼,我是整理出来免费分享给大家的! 大家请多点赞和评论,这样后面的同学更容易百度到,不至于被人盗卖,我就不加水印影响大家使用了! 第一次整理,度不好控制,有不好的地方希望大家理解,后面可能会改进,造福今年之后的同学们! ...

程序员宝藏的博客 1万+

Java学习篇27_[网络编程]软件架构、CS/BS、网络通信三要素、TCP通信、Scoket套接字、ServertSocket

上一篇博客:Java学习篇25_IO概述、字节流、字符流、IO流异常处理、属性集 目录 软件架构CS/BS 网络通信三要素 TCP通信 Socket套接字 ServerSocket 目标 能够辨别UDP和TCP协议特点 能够说出TCP协议下两个常用类名称 能够编写TCP协议下字符串数据传输程序 能够理解TCP协议下文件上传案例 能够理解TCP协议下案例2 一、网络编程入门 1.1软件结构 C/S结构 :全称为Client/Server结构,是指客户端和服务器结构。常见程序有QQ、迅雷

xiaosi的博客 252

CVAT本地部署保姆级教程:用Docker Compose在Ubuntu上5分钟搞定你的私有数据标注平台

本文提供CVAT本地部署的保姆级教程,详细讲解如何在Ubuntu系统上使用Docker Compose快速搭建私有数据标注平台。从环境准备、Docker配置到CVAT部署全流程,涵盖硬件要求、性能优化及安全加固等关键步骤,帮助开发团队5分钟内完成高效、安全的标注环境搭建。

weixin_42619742的博客 383

告别复杂配置!用GuidosToolbox 3.0做MSPA景观格局分析,从安装到出图全记录

本文详细介绍了如何使用GuidosToolbox 3.0进行MSPA景观格局分析,从安装配置到出图全流程。涵盖环境准备、数据预处理、参数设置、结果解读及可视化技巧,帮助用户快速掌握这一生态安全评估工具。特别针对安装教程中的常见问题提供解决方案,提升分析效率。

weixin_29248313的博客 489

Java EE:6.网络编程套接字(第一弹):基础+Socket+UDP

Java EE:6.网络编程套接字(第一弹):基础+Socket+UDP

要努力去发光,而不是被照亮~ 3654

测试丢包_电信IPRAN承载LTE业务丢包故障处理案例

银川 景旭阳电信IPRAN承载LTE业务丢包故障处理案例一.故障现象某地市IPRAN网络承载LTE基站业务,客户反馈近期丢包严重,基站侧ping侧核心网EPC丢包达到10%左右;且基站数量在10个左右,并分布在同一地区,需要IPRAN网络协助排查;随后查看了IPRAN网络;发现这些业务所在基站的PW-BFD历史告警存在频繁的UP/DOWN告警;综上信息展开故障处理,初步判断由于BFD频繁...

weixin_29740921的博客 1912

java TCPSocket聊天小程序

java TCPSocket聊天小程序

我需要懂得努力 2338

【机械臂视觉抓取从理论到实战】

首先声明一下,此项目是参考B站哈萨克斯坦UP的【机械臂视觉抓取从理论到实战】 此内容为他研究生生涯的阶段性成果展示和技术分享,所有数据和代码均开源。所以鹏鹏我特此来复现一下,我采用的硬件与之有所不同,UP主使用UR5,我实验室采用的是UR3,下面列出相关材料 UR3CB3.12:https://www.universal-robots.cn/cb3/ 【UR3系统升级到CB3.12附带URcap1.05】硬件支持代码支持 jacquard数据集:https://pan.baidu.com/s/1524HrV

vor234的博客 5189

【数据可视化-77】中国历年GDP数据可视化分析:Python + Pyecharts 深度洞察(含完整数据、代码)

通过上述可视化分析,我们可以清晰地看到中国历年GDP的变化趋势和产业构成。玫瑰图展示了2024年的产业构成,地图和柱状图展示了GDP的时空分布,双轴折线图和雷达图则分别展示了GDP总量与人均GDP的变化以及各行业的GDP贡献。希望这篇文章能帮助您更好地理解和分析中国历年GDP数据。如果您有任何问题或建议,欢迎在评论区留言!🎉。

qq_38614074的博客 1473

网络聊天程序的设计与实现——计网课设

实验题目实验题目网络聊天程序的设计与实现实验目的使用,了解socket编程的通信原理,会使用socket进行简单的网络编程,在此基础上编写一聊天程序,能够运行程序,运行客户端和服务器端,实现两个客户端通过服务器端进行通信。总体设计1、背景知识1.1 Tcp协议与Win Sock网络编程接口:Tcp协议: 是面向连接的运输层协议,提供可靠的、有序的、双向的、面向连接的运输服务。Win Sock编程: 是一种网络编程接口,实际上是作为TCP/IP协议的一种封装。

m0_67583051的博客 2772

Unreal5从入门到精通之如何在VR中使用3DUI

前面我们讲过《Unreal5从入门到精通之UMG的使用》一般制作游戏时,UI都是添加到屏幕视窗上面的,但是在制作VR时,我们往往需要制作一个3D的UI,放置在场景中,然后使用手柄的射线来和UI进行交互。今天我们就来讲解下,如何在VR中创作和交互3DUI首次操作会感觉好复杂,多多练习,当你熟悉了UE蓝图的操作后会发现,这只是一个常规的蓝图操作而已。祝大家在虚幻的学习过程中非常顺利。希望这篇博客对你有所帮助。

TxNet 1985

基于nio的ScoktChannel数据传输

java中nio的ScoktChannel数据传输 1.服务端server package com.netty.redis.zookeeper.netty.unit1.oneday; import lombok.extern.slf4j.Slf4j; import java.io.IOException; import java.net.InetSocketAddress; import java.nio.ByteBuffer; import java.nio.channels.ServerSocketC

star_pluss的博客 306

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

使用socket模拟tomcat实现静态资源处理

步骤: 1.服务端使用ServerSocket,监听指定的端口。 2.调用ServerSocket的accept方法接收客户端连接,得到Socket对象。 3.根据Socket对象的getInputStream()方法得到输入流,从而拿到浏览器发送的http请求的基本信息。 GET /htmlfiles/test2.jsp HTTP/1.1 Host: localhost:9191 Connect...

Donny的专栏 895

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

http、TCP/IP协议与socket之间的区别

http、TCP/IP协议与socket之间的区别   网络由下往上分为:  物理层--                       数据链路层-- 网络层--                       IP协议 传输层--                       TCP协议 会话层-- 表示层 应用层--           HTTP协

积硅步以致千里 609

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

上一篇: 网络编程Socket通信之TCP
下一篇: 网络编程Socket文件上传到服务器
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值