javasocket学习

lizhen1412      2022-04-24     153

关键词:

socket 服务端编写之BIO网络学习

技术分享图片
 1 package com.example.demo.bio;
 2 
 3 import java.io.IOException;
 4 import java.net.ServerSocket;
 5 import java.net.Socket;
 6 
 7 /**
 8  * @Author: Lambert
 9  * @Date: 2019-01-07 00:37
10  * @Description:
11  */
12 public class BioServer {
13     private static final int PORT = 8080;
14 
15     public static void main(String[] args) throws IOException {
16 
17         ServerSocket serverSocket = null;
18         try {
19             serverSocket = new ServerSocket(PORT);
20             System.out.println("the time server is start in port" + PORT);
21 
22             Socket socket = null;
23             while (true) {
24                 //阻塞项目
25                 socket = serverSocket.accept();
26                 new Thread(new TimeServerHandler(socket)).start();
27             }
28         } catch (
29                 Exception e) {
30             e.printStackTrace();
31         } finally {
32             {
33                 if (serverSocket != null) {
34                     System.out.println("the time server close");
35                     serverSocket.close();
36                 }
37 
38             }
39         }
40 
41     }
42 }
View Code
技术分享图片
 1 package com.example.demo.bio;
 2 
 3 import java.io.BufferedReader;
 4 import java.io.InputStreamReader;
 5 import java.io.PrintWriter;
 6 import java.net.Socket;
 7 import java.util.Date;
 8 
 9 /**
10  * @Author: Lambert
11  * @Date: 2019-01-07 00:56
12  * @Description:
13  */
14 public class TimeServerHandler implements Runnable {
15 
16     private Socket socket;
17 
18     /**
19      * 构造函数
20      *
21      * @param socket
22      */
23     public TimeServerHandler(Socket socket) {
24         this.socket = socket;
25     }
26 
27     @Override
28     public void run() {
29         BufferedReader in = null;
30         PrintWriter out = null;
31         try {
32             //获得输入流
33             in = new BufferedReader(new InputStreamReader(this.socket.getInputStream()));
34             out = new PrintWriter(this.socket.getOutputStream(), true);
35 
36             String body = null;
37             while ((body = in.readLine()) != null && body.length() != 0) {
38                 System.out.println("the time Server receive msg:" + body);
39                 out.println(new Date().toString());
40                 //暂时不需要
41 //                out.flush();
42             }
43 
44         } catch (Exception e) {
45             e.printStackTrace();
46         } finally {
47             if (in != null) {
48                 try {
49                     in.close();
50                 } catch (Exception e) {
51                     e.printStackTrace();
52                 }
53             }
54             if (out != null) {
55                 try {
56                     out.close();
57                 } catch (Exception e) {
58                     e.printStackTrace();
59                 }
60             }
61             if (socket != null) {
62                 try {
63                     this.socket.close();
64                 } catch (Exception e) {
65                     e.printStackTrace();
66                 }
67             }
68         }
69 
70 
71     }
72 
73 }
View Code

技术分享图片

 

javasocket编程学习笔记

在上一篇中,使用了javaSocket+Tcp/IP 协议来实现应用程序或客户端--服务器间的实时双向通信,本篇中,将使用UDP协议来实现Socket的通信。1.关于UDP  UDP协议(用户数据报协议)是无连接的、不可靠的、无序的,速度快,进行... 查看详情

javasocket通信

7.6.1Socket学习网络基础准备7.6.2基于TCP协议的Socket通信(1)7.6.3基于TCP协议的Socket通信(2)7.6.4基于UDP协议的Socket通信  查看详情

javasocket编程api基础

 Socket是Java网络编程的基础,深入学习socket对于了解tcp/ip网络通信协议很有帮助,  此文讲解Socket的基础编程。Socket用在哪里:①、主要用在进程间,②、网络间通信。文章目录如下:一、Socket通信基本示例二、消息通信优... 查看详情

javasocket实现简单在线聊天

出处:http://blog.csdn.net/tuzongxun最近的项目有一个在线网页交流的需求,由于很久以前做过的demo已经忘记的差不多了,因此便重新学习一下。 我计划的大致实现步骤分这样几大步:1、使用awt组件和socket实现简单的单客户端向... 查看详情

javasocket通信介绍及可能遇到的问题解决_java-java

文章来源:嗨学网敏而好学论坛www.piaodoo.com欢迎大家相互学习前言本文主要给大家介绍了关于Java中Socket通信的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。Java中基于TCP协议实现网络通信的... 查看详情

学习javasocket中启动了serversocket再启动socket为啥serversocket自动关闭了

其他电脑都可以正常运行我电脑就不可以启动serverSocket正常但是1建立连接就报连接错误然后serverSocket关闭了我把防火墙360都关了的啊求高手参考技术A一般这种情况,把Eclipse重新启动哈就搞定了,端口被占用,不关360的原因,可... 查看详情

使用javasocket手撸一个http服务器

作为一个Java后端,提供HTTP服务可以说是基本技能之一,但是你真的理解HTTP协议吗?你知道如何使用HTTP服务器吗?Tomcat的底层如何支持HTTP服务?什么是著名的servlet以及如何使用它?套接字编程是您第一次学习Java时不可回避的... 查看详情

redis高频面试笔记:javasocket服务端开发

在校生如果你是在校生,你应该趁着在学校的时间夯实基础(比如计算机系统、算法、编译原理等等)不要动不动去搞什么项目,你也搞不出一个让面试官很满意的项目出来,所以根本没必要在项目上面浪费... 查看详情

javasocket

importjava.net.ServerSocketimportjava.io.OutputStreamWriterimportjava.io.BufferedWritervallistener=newServerSocket(15209)valserver=listener.acceptvalosServ=server.getOutputStreamvalwriter=newBufferedW 查看详情

javasocket

socketSocket 单次连接实例packagetest;//:MultiJabberServer.java//Aserverthatusesmultithreadingtohandle//anynumberofclients.importjava.io.*;importjava.net.*;classServeOneJabberextendsThread{privateSocket 查看详情

javasocket.io连接测试(代码片段)

查看详情

javasocket通讯

本来是打算验证javasocket是不是单线程操作,也就是一次只能处理一个请求,处理完之后才能继续处理下一个请求。但是在其中又发现了许多问题,在编程的时候需要十分注意,今天就拿出来跟大家分享一下。首先先建立一个服... 查看详情

javasocket基本使用

首先编写Client程序:1importjava.io.IOException;2importjava.net.Socket;3importjava.util.Scanner;45publicclassClient{6publicstaticvoidmain(String[]args)throwsIOException{7/**8*创建Socket9*接收服务器端发送数据10*/11Sockets 查看详情

javasocket

https://droidyue.com/blog/2015/03/08/sockets-programming-in-java/https://my.oschina.net/leejun2005/blog/104955https://www.cnblogs.com/w-wfy/p/6415840.html进程间通信需要一对套接字(socket),通过一个进程的socket与另一个进程的socke 查看详情

javasocket基于tcp/ip协议

Javasocket基于TCP/IP协议应用多线程服务器原理:1、         服务器端创建serversocket并绑定要监听的端口号,循环调用serversoket的accept()方法,等待客户端的连接请求2、       &... 查看详情

javasocket可配置简易通讯器

写了个简单的小玩意可以进行简单的配置,C/S模式分别都有配置文件https://github.com/lisztomania-Zero/Config_Socket 查看详情

javasocket可配置简易通讯器

写了个简单的小玩意可以进行简单的配置,C/S模式分别都有配置文件https://github.com/lisztomania-Zero/Config_Socket 查看详情

javasocket编程--聊天小案例

  很久以前写过socket聊天室,都快忘完了,心血来潮又重新写一遍。服务器端:packagecom.fancy;importjava.io.BufferedReader;importjava.io.IOException;importjava.io.InputStream;importjava.io.InputStreamReader;importjava.io.OutputStream;imp 查看详情