kandi background
Explore Kits

mpush | 官网:https://mpusher | Websocket library

 by   mpusher Java Version: v0.8.0 License: Apache-2.0

 by   mpusher Java Version: v0.8.0 License: Apache-2.0

Download this library from

kandi X-RAY | mpush Summary

mpush is a Java library typically used in Networking, Websocket, Docker applications. mpush has no bugs, it has no vulnerabilities, it has build file available, it has a Permissive License and it has medium support. You can download it from GitHub, Maven.
MPush开源实时消息推送系统
Support
Support
Quality
Quality
Security
Security
License
License
Reuse
Reuse

kandi-support Support

  • mpush has a medium active ecosystem.
  • It has 3356 star(s) with 1369 fork(s). There are 337 watchers for this library.
  • It had no major release in the last 12 months.
  • There are 20 open issues and 15 have been closed. On average issues are closed in 97 days. There are 6 open pull requests and 0 closed requests.
  • It has a neutral sentiment in the developer community.
  • The latest version of mpush is v0.8.0
mpush Support
Best in #Websocket
Average in #Websocket
mpush Support
Best in #Websocket
Average in #Websocket

quality kandi Quality

  • mpush has no bugs reported.
mpush Quality
Best in #Websocket
Average in #Websocket
mpush Quality
Best in #Websocket
Average in #Websocket

securitySecurity

  • mpush has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
mpush Security
Best in #Websocket
Average in #Websocket
mpush Security
Best in #Websocket
Average in #Websocket

license License

  • mpush is licensed under the Apache-2.0 License. This license is Permissive.
  • Permissive licenses have the least restrictions, and you can use them in most projects.
mpush License
Best in #Websocket
Average in #Websocket
mpush License
Best in #Websocket
Average in #Websocket

buildReuse

  • mpush releases are available to install and integrate.
  • Deployable package is available in Maven.
  • Build file is available. You can build the component from source.
  • Installation instructions are not available. Examples and code snippets are available.
mpush Reuse
Best in #Websocket
Average in #Websocket
mpush Reuse
Best in #Websocket
Average in #Websocket
Top functions reviewed by kandi - BETA

kandi has reviewed mpush and discovered the below as its top functions. This is intended to give you an instant insight into mpush implemented functionality, and help decide if they suit your requirements.

  • Returns the current bucket .
  • Create server .
  • Creates a URI from the given URL string .
  • Prints JStack to a stream .
  • Do security handshake .
  • Creates a new instance of the given Config .
  • Send to the Gateway
  • unbind user
  • Check local push .
  • Tries to fast connect .

mpush Key Features

官网:https://mpusher.github.io

文档:http://mpush.mydoc.io

QQ群:114583699

服务部署

copy iconCopydownload iconDownload
drwxrwxr-x 2 shinemo shinemo  4096 Aug 20 09:30 bin —> 启动脚本
drwxrwxr-x 2 shinemo shinemo  4096 Aug 20 09:52 conf —> 配置文件
drwxrwxr-x 2 shinemo shinemo  4096 Aug 20 09:29 lib —> 核心类库
-rw-rw-r-- 1 shinemo shinemo 11357 May 31 11:07 LICENSE
drwxrwxr-x 2 shinemo shinemo  4096 Aug 20 09:32 logs —> 日志目录
-rw-rw-r-- 1 shinemo shinemo    21 May 31 11:07 README.md
drwxrwxr-x 2 shinemo shinemo  4096 Aug 20 09:52 tmp

配置文件详解

copy iconCopydownload iconDownload
##################################################################################################################
#
# NOTICE:
#
# 系统配置文件,所有列出的项是系统所支持全部配置项
# 如果要覆盖某项的值可以添加到mpush.conf中。
#
# 配置文件格式采用HOCON格式。解析库由https://github.com/typesafehub/config提供。
# 具体可参照说明文档,比如含有特殊字符的字符串必须用双引号包起来。
#
##################################################################################################################

mp {
 #基础配置
 home=${user.dir} //程序工作目录

 #日志配置
 log-level=warn
 log-dir=${mp.home}/logs
 log-conf-path=${mp.home}/conf/logback.xml

 #核心配置
 core {
     max-packet-size=10k //系统允许传输的最大包的大小
     compress-threshold=10k //数据包启用压缩的临界值,超过该值后对数据进行压缩
     min-heartbeat=3m //最小心跳间隔
     max-heartbeat=3m //最大心跳间隔
     max-hb-timeout-times=2 //允许的心跳连续超时的最大次数
     session-expired-time=1d //用于快速重连的session 过期时间默认1天
     epoll-provider=netty //nio:jdk自带,netty:由netty实现
 }

 #安全配置
 security {
     #rsa 私钥、公钥key长度为1024;可以使用脚本bin/rsa.sh生成, @see com.mpush.tools.crypto.RSAUtils#main
     private-key="MIIBNgIBADANBgkqhkiG9w0BAQEFAASCASAwggEcAgEAAoGBAKCE8JYKhsbydMPbiO7BJVq1pbuJWJHFxOR7L8Hv3ZVkSG4eNC8DdwAmDHYu/wadfw0ihKFm2gKDcLHp5yz5UQ8PZ8FyDYvgkrvGV0ak4nc40QDJWws621dm01e/INlGKOIStAAsxOityCLv0zm5Vf3+My/YaBvZcB5mGUsPbx8fAgEAAoGAAy0+WanRqwRHXUzt89OsupPXuNNqBlCEqgTqGAt4Nimq6Ur9u2R1KXKXUotxjp71Ubw6JbuUWvJg+5Rmd9RjT0HOUEQF3rvzEepKtaraPhV5ejEIrB+nJWNfGye4yzLdfEXJBGUQzrG+wNe13izfRNXI4dN/6Q5npzqaqv0E1CkCAQACAQACAQACAQACAQA="
     public-key="MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCghPCWCobG8nTD24juwSVataW7iViRxcTkey/B792VZEhuHjQvA3cAJgx2Lv8GnX8NIoShZtoCg3Cx6ecs+VEPD2fBcg2L4JK7xldGpOJ3ONEAyVsLOttXZtNXvyDZRijiErQALMTorcgi79M5uVX9/jMv2Ggb2XAeZhlLD28fHwIDAQAB"
     aes-key-length=16 //AES key 长度
 }

 #网络配置
 net {
     local-ip=""  //本地ip, 默认取第一个网卡的本地IP
     public-ip="" //外网ip, 默认取第一个网卡的外网IP

     connect-server-bind-ip=""  //connSrv 绑定的本地ip (默认anyLocalAddress 0.0.0.0 or ::0)
     connect-server-register-ip=${mp.net.public-ip}  //公网ip, 注册到zk中的ip, 默认是public-ip
     connect-server-port=3000 //长链接服务对外端口, 公网端口
     connect-server-register-attr { //注册到zk里的额外属性,比如配置权重,可在alloc里排序
         weight:1
     }

     gateway-server-bind-ip=""  //gatewaySrv 绑定的本地ip (默认anyLocalAddress 0.0.0.0 or ::0)
     gateway-server-register-ip=${mp.net.local-ip}  //本地ip, 注册到zk中的ip, 默认是local-ip
     gateway-server-port=3001 //网关服务端口, 内部端口
     gateway-server-net=tcp //网关服务使用的网络类型tcp/udp/sctp/udt

     gateway-client-port=4000 //UDP 客户端端口
     gateway-server-multicast="239.239.239.88" //239.0.0.0~239.255.255.255为本地管理组播地址,仅在特定的本地范围内有效
     gateway-client-multicast="239.239.239.99" //239.0.0.0~239.255.255.255为本地管理组播地址,仅在特定的本地范围内有效
     gateway-client-num=1 //网关客户端连接数

     admin-server-port=3002 //控制台服务端口, 内部端口
     ws-server-port=0 //websocket对外端口, 公网端口, 0表示禁用websocket
     ws-path="/" //websocket path

     public-host-mapping { //本机局域网IP和公网IP的映射关系, 该配置后续会被废弃
         //"10.0.10.156":"111.1.32.137"
         //"10.0.10.166":"111.1.33.138"
     }

     snd_buf { //tcp/udp 发送缓冲区大小
         connect-server=32k
         gateway-server=0
         gateway-client=0 //0表示使用操作系统默认值
     }

     rcv_buf { //tcp/udp 接收缓冲区大小
         connect-server=32k
         gateway-server=0
         gateway-client=0 //0表示使用操作系统默认值
     }

     write-buffer-water-mark { //netty 写保护
         connect-server-low=32k
         connect-server-high=64k
         gateway-server-low=10m
         gateway-server-high=20m
     }

     traffic-shaping { //流量整形配置
         gateway-client {
             enabled:false
             check-interval:100ms
             write-global-limit:30k
             read-global-limit:0
             write-channel-limit:3k
             read-channel-limit:0
         }

         gateway-server {
             enabled:false
             check-interval:100ms
             write-global-limit:0
             read-global-limit:30k
             write-channel-limit:0
             read-channel-limit:3k
         }

         connect-server {
             enabled:false
             check-interval:100ms
             write-global-limit:0
             read-global-limit:100k
             write-channel-limit:3k
             read-channel-limit:3k
         }
     }
 }

 #Zookeeper配置
 zk {
     server-address="127.0.0.1:2181" //多台机器使用","分隔如:"10.0.10.44:2181,10.0.10.49:2181" @see org.apache.zookeeper.ZooKeeper#ZooKeeper()
     namespace=mpush
     digest=mpush //zkCli.sh acl 命令 addauth digest mpush
     watch-path=/
     retry {
         #initial amount of time to wait between retries
         baseSleepTimeMs=3s
         #max number of times to retry
         maxRetries=3
         #max time in ms to sleep on each retry
         maxSleepMs=5s
     }
     connectionTimeoutMs=5s
     sessionTimeoutMs=5s
 }

 #Redis集群配置
 redis {
     cluster-model=single //single,cluster,sentinel
     sentinel-master:""
     nodes:[] s//["127.0.0.1:6379"]格式ip:port
     password="" //your password
     config {
         maxTotal:8,
         maxIdle:4,
         minIdle:1,
         lifo:true,
         fairness:false,
         maxWaitMillis:5000,
         minEvictableIdleTimeMillis:300000,
         softMinEvictableIdleTimeMillis:1800000,
         numTestsPerEvictionRun:3,
         testOnCreate:false,
         testOnBorrow:false,
         testOnReturn:false,
         testWhileIdle:false,
         timeBetweenEvictionRunsMillis:60000,
         blockWhenExhausted:true,
         jmxEnabled:false,
         jmxNamePrefix:pool,
         jmxNameBase:pool
     }
 }

 #HTTP代理配置
 http {
     proxy-enabled=false //启用Http代理
     max-conn-per-host=5 //每个域名的最大链接数, 建议web服务nginx超时时间设长一点, 以便保持长链接
     default-read-timeout=10s //请求超时时间
     max-content-length=5m //response body 最大大小
     dns-mapping { //域名映射外网地址转内部IP, 域名部分不包含端口号
         //"mpush.com":["127.0.0.1:8080", "127.0.0.1:8081"]
     }
 }

 #线程池配置
 thread {
     pool {
         conn-work:0 //接入服务线程池大小,0表示线程数根据cpu核数动态调整(2*cpu)
         gateway-server-work:0 //网关服务线程池大小,0表示线程数根据cpu核数动态调整(2*cpu)
         http-work:0 //http proxy netty client work pool size,0表示线程数根据cpu核数动态调整(2*cpu)
         ack-timer:1 //处理ACK消息超时
         push-task:0 //消息推送中心,推送任务线程池大小, 如果为0表示使用Gateway Server的work线程池,tcp下推荐0
         gateway-client-work:0 //网关客户端线程池大小,0表示线程数根据cpu核数动态调整(2*cpu),该线程池在客户端运行
         push-client:2 //消息推送回调处理,该线程池在客户端运行

         event-bus { //用户处理内部事件分发
             min:1
             max:16
             queue-size:10000 //大量的online,offline
         }

         mq { //用户上下线消息, 踢人等
             min:1
             max:4
             queue-size:10000
         }
     }
 }

 #推送消息流控
 push {
    flow-control { //qps = limit/(duration)
         global:{ //针对非广播推送的流控,全局有效
             limit:5000 //qps = 5000
             max:0 //UN limit
             duration:1s //1s
         }

         broadcast:{ //针对广播消息的流控,单次任务有效
             limit:3000 //qps = 3000
             max:100000 //10w
             duration:1s //1s
         }
    }
 }

 #系统监控配置
 monitor {
     dump-dir=${mp.home}/tmp
     dump-stack=false //是否定时dump堆栈
     dump-period=1m  //多久监控一次
     print-log=true //是否打印监控日志
     profile-enabled=false //开启性能监控
     profile-slowly-duration=10ms //耗时超过10ms打印日志
 }

 #SPI扩展配置
 spi {
     thread-pool-factory:"com.mpush.tools.thread.pool.DefaultThreadPoolFactory"
     dns-mapping-manager:"com.mpush.common.net.HttpProxyDnsMappingManager"
 }
}

Bootstrap 4 repsonsive layout messed up

copy iconCopydownload iconDownload
@media (max-width: 768px) {
  .container {
    float: left;
  }
}
<div class="row">
  <div class="col-8 col-md-6"></div>
  <div class="col-4"></div>
  <div class="col-md-2"></div>
  <div class="col-md-2"></div>
  <div class="col-md-2"></div>
</div>
<div class="row">
  <div class="col-md-3"></div>
  <div class="col-md-3"></div>
  <div class="col-md-2"></div>
  <div class="col-md-2"></div>
  <div class="col-md-2"></div>
</div>
#mu-carousel .carousel-item {
  max-height: 480px;
  width: 100%;
}

.mu-nav-collapse .navbar-nav {
  float: none;
  margin: 0 auto;
  display: block;
  width: 100%;
}

.mpush {
  margin-top: -8px;
}

.navbar-nav>li {
  text-align: left;
  background: white;
  display: inline-block;
}

.navbar-nav .dropdown .dropdown-menu {
  border: none;
  background-color: white;
}

.sticky-top {
  position: relative;
}

.navbar-toggler {
  background: darkgrey;
}

@media (min-width: 768px) {
  .mpush {
    margin-top: -28px;
  }
  #mu-carousel {
    margin-top: -28px;
  }
  .mu-nav {
    margin-top: -28px;
    background: white;
  }
  .navbar-nav {
    float: none;
    margin: 0 auto;
    display: block;
    text-align: center;
  }
  .navbar-nav>li {
    background: white;
  }
  .navbar-nav .dropdown .dropdown-menu {
    background-color: white;
  }
  .mu-nav-bg {
    background: white;
  }
  .sticky-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020;
  }
}

#mu-header {
  background: lightgrey;
  height: 135px;
}

.mu-header-logo {
  height: 85px;
  width: auto;
}

.mu-header-area {
  margin-top: 35px;
  height: 85px;
  width: auto;
  line-height: 0.1;
}

.mu-header-area i {
  float: left;
  padding-right: 15px;
}

.icon-tex-title {
  padding-top: 6px;
  font-size: 14px;
  font-weight: 900;
}

.icon-tex-subtitle {
  font-size: 11px;
}

@media (max-width: 768px) {
  .container {
    float: left;
  }
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">

<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
<script defer src="https://use.fontawesome.com/releases/v5.0.6/js/all.js"></script>

<header id="mu-header" style="">
  <div class="container">
    <div class="row">
      <div class="col-md-3">
        <span class="mu-header-logo">
          <img src="http://www.cablecorporation.co.za/wp-content/uploads/2017/09/dummy-logo.png" alt="">
        </span>
      </div>

      <div class="col-md-3 d-flex d-md-none justify-content-end navbar navbar-expand-md navbar-light bg-faded">
        <button class="navbar-toggler navbar-toggler-right2 mu-nav-collapse" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
          <span class="navbar-toggler-icon"></span>
        </button>
      </div>

      <div class="col-md-2">
        <div class="mu-header-area">
          <i class="fa fa-phone fa-2x"></i>
          <p class="icon-tex-title">1234-123456</p>
          <p class="icon-tex-subtitle">Lorem ipsum dolor sit amet</p>
        </div>
      </div>
      <div class="col-md-2">
        <div class="mu-header-area">
          <i class="fa fa-phone fa-2x"></i>
          <p class="icon-tex-title">1234-123456</p>
          <p class="icon-tex-subtitle">Lorem ipsum dolor sit amet</p>
        </div>
      </div>
      <div class="col-md-2">
        <div class="mu-header-area t">
          <i class="fa fa-phone fa-2x"></i>
          <p class="icon-tex-title">1234-123456</p>
          <p class="icon-tex-subtitle">Lorem ipsum dolor sit amet</p>
        </div>
      </div>
    </div>
  </div>
</header>

<div class="container sticky-top mpush mu-nav">
  <div class="row">
    <div class="col-md-12">
      <nav class="navbar navbar-expand-md navbar-light bg-faded">
        <div class="collapse navbar-collapse" id="navbarNavDropdown">
          <ul class="navbar-nav">
            <li class="nav-item active">
              <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="#">Features</a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="#">Pricing</a>
            </li>
            <li class="nav-item dropdown">
              <a class="nav-link dropdown-toggle" href="http://example.com" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                Dropdown link
              </a>
              <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
                <a class="dropdown-item" href="#">Action</a>
                <a class="dropdown-item" href="#">Another action</a>
                <a class="dropdown-item" href="#">Something else here</a>
              </div>
            </li>
          </ul>
        </div>
      </nav>
    </div>
  </div>
</div>

<section id="mu-carousel" class="mpush">
  <div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel">
    <div class="carousel-inner" role="listbox">
      <div class="carousel-item active">
        <img class="d-block img-fluid" src="https://static.pexels.com/photos/93140/pexels-photo-93140.jpeg" alt="First slide">
      </div>
      <div class="carousel-item">
        <img class="d-block img-fluid" src="https://static.pexels.com/photos/93140/pexels-photo-93140.jpeg" alt="Second slide">
      </div>
      <div class="carousel-item">
        <img class="d-block img-fluid" src="https://static.pexels.com/photos/93140/pexels-photo-93140.jpeg" alt="Third slide">
      </div>
    </div>
    <a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
      <span class="carousel-control-prev-icon" aria-hidden="true"></span>
      <span class="sr-only">Previous</span>
    </a>
    <a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next">
      <span class="carousel-control-next-icon" aria-hidden="true"></span>
      <span class="sr-only">Next</span>
    </a>
  </div>
</section>
-----------------------
@media (max-width: 768px) {
  .container {
    float: left;
  }
}
<div class="row">
  <div class="col-8 col-md-6"></div>
  <div class="col-4"></div>
  <div class="col-md-2"></div>
  <div class="col-md-2"></div>
  <div class="col-md-2"></div>
</div>
<div class="row">
  <div class="col-md-3"></div>
  <div class="col-md-3"></div>
  <div class="col-md-2"></div>
  <div class="col-md-2"></div>
  <div class="col-md-2"></div>
</div>
#mu-carousel .carousel-item {
  max-height: 480px;
  width: 100%;
}

.mu-nav-collapse .navbar-nav {
  float: none;
  margin: 0 auto;
  display: block;
  width: 100%;
}

.mpush {
  margin-top: -8px;
}

.navbar-nav>li {
  text-align: left;
  background: white;
  display: inline-block;
}

.navbar-nav .dropdown .dropdown-menu {
  border: none;
  background-color: white;
}

.sticky-top {
  position: relative;
}

.navbar-toggler {
  background: darkgrey;
}

@media (min-width: 768px) {
  .mpush {
    margin-top: -28px;
  }
  #mu-carousel {
    margin-top: -28px;
  }
  .mu-nav {
    margin-top: -28px;
    background: white;
  }
  .navbar-nav {
    float: none;
    margin: 0 auto;
    display: block;
    text-align: center;
  }
  .navbar-nav>li {
    background: white;
  }
  .navbar-nav .dropdown .dropdown-menu {
    background-color: white;
  }
  .mu-nav-bg {
    background: white;
  }
  .sticky-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020;
  }
}

#mu-header {
  background: lightgrey;
  height: 135px;
}

.mu-header-logo {
  height: 85px;
  width: auto;
}

.mu-header-area {
  margin-top: 35px;
  height: 85px;
  width: auto;
  line-height: 0.1;
}

.mu-header-area i {
  float: left;
  padding-right: 15px;
}

.icon-tex-title {
  padding-top: 6px;
  font-size: 14px;
  font-weight: 900;
}

.icon-tex-subtitle {
  font-size: 11px;
}

@media (max-width: 768px) {
  .container {
    float: left;
  }
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">

<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
<script defer src="https://use.fontawesome.com/releases/v5.0.6/js/all.js"></script>

<header id="mu-header" style="">
  <div class="container">
    <div class="row">
      <div class="col-md-3">
        <span class="mu-header-logo">
          <img src="http://www.cablecorporation.co.za/wp-content/uploads/2017/09/dummy-logo.png" alt="">
        </span>
      </div>

      <div class="col-md-3 d-flex d-md-none justify-content-end navbar navbar-expand-md navbar-light bg-faded">
        <button class="navbar-toggler navbar-toggler-right2 mu-nav-collapse" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
          <span class="navbar-toggler-icon"></span>
        </button>
      </div>

      <div class="col-md-2">
        <div class="mu-header-area">
          <i class="fa fa-phone fa-2x"></i>
          <p class="icon-tex-title">1234-123456</p>
          <p class="icon-tex-subtitle">Lorem ipsum dolor sit amet</p>
        </div>
      </div>
      <div class="col-md-2">
        <div class="mu-header-area">
          <i class="fa fa-phone fa-2x"></i>
          <p class="icon-tex-title">1234-123456</p>
          <p class="icon-tex-subtitle">Lorem ipsum dolor sit amet</p>
        </div>
      </div>
      <div class="col-md-2">
        <div class="mu-header-area t">
          <i class="fa fa-phone fa-2x"></i>
          <p class="icon-tex-title">1234-123456</p>
          <p class="icon-tex-subtitle">Lorem ipsum dolor sit amet</p>
        </div>
      </div>
    </div>
  </div>
</header>

<div class="container sticky-top mpush mu-nav">
  <div class="row">
    <div class="col-md-12">
      <nav class="navbar navbar-expand-md navbar-light bg-faded">
        <div class="collapse navbar-collapse" id="navbarNavDropdown">
          <ul class="navbar-nav">
            <li class="nav-item active">
              <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="#">Features</a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="#">Pricing</a>
            </li>
            <li class="nav-item dropdown">
              <a class="nav-link dropdown-toggle" href="http://example.com" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                Dropdown link
              </a>
              <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
                <a class="dropdown-item" href="#">Action</a>
                <a class="dropdown-item" href="#">Another action</a>
                <a class="dropdown-item" href="#">Something else here</a>
              </div>
            </li>
          </ul>
        </div>
      </nav>
    </div>
  </div>
</div>

<section id="mu-carousel" class="mpush">
  <div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel">
    <div class="carousel-inner" role="listbox">
      <div class="carousel-item active">
        <img class="d-block img-fluid" src="https://static.pexels.com/photos/93140/pexels-photo-93140.jpeg" alt="First slide">
      </div>
      <div class="carousel-item">
        <img class="d-block img-fluid" src="https://static.pexels.com/photos/93140/pexels-photo-93140.jpeg" alt="Second slide">
      </div>
      <div class="carousel-item">
        <img class="d-block img-fluid" src="https://static.pexels.com/photos/93140/pexels-photo-93140.jpeg" alt="Third slide">
      </div>
    </div>
    <a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
      <span class="carousel-control-prev-icon" aria-hidden="true"></span>
      <span class="sr-only">Previous</span>
    </a>
    <a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next">
      <span class="carousel-control-next-icon" aria-hidden="true"></span>
      <span class="sr-only">Next</span>
    </a>
  </div>
</section>
-----------------------
@media (max-width: 768px) {
  .container {
    float: left;
  }
}
<div class="row">
  <div class="col-8 col-md-6"></div>
  <div class="col-4"></div>
  <div class="col-md-2"></div>
  <div class="col-md-2"></div>
  <div class="col-md-2"></div>
</div>
<div class="row">
  <div class="col-md-3"></div>
  <div class="col-md-3"></div>
  <div class="col-md-2"></div>
  <div class="col-md-2"></div>
  <div class="col-md-2"></div>
</div>
#mu-carousel .carousel-item {
  max-height: 480px;
  width: 100%;
}

.mu-nav-collapse .navbar-nav {
  float: none;
  margin: 0 auto;
  display: block;
  width: 100%;
}

.mpush {
  margin-top: -8px;
}

.navbar-nav>li {
  text-align: left;
  background: white;
  display: inline-block;
}

.navbar-nav .dropdown .dropdown-menu {
  border: none;
  background-color: white;
}

.sticky-top {
  position: relative;
}

.navbar-toggler {
  background: darkgrey;
}

@media (min-width: 768px) {
  .mpush {
    margin-top: -28px;
  }
  #mu-carousel {
    margin-top: -28px;
  }
  .mu-nav {
    margin-top: -28px;
    background: white;
  }
  .navbar-nav {
    float: none;
    margin: 0 auto;
    display: block;
    text-align: center;
  }
  .navbar-nav>li {
    background: white;
  }
  .navbar-nav .dropdown .dropdown-menu {
    background-color: white;
  }
  .mu-nav-bg {
    background: white;
  }
  .sticky-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020;
  }
}

#mu-header {
  background: lightgrey;
  height: 135px;
}

.mu-header-logo {
  height: 85px;
  width: auto;
}

.mu-header-area {
  margin-top: 35px;
  height: 85px;
  width: auto;
  line-height: 0.1;
}

.mu-header-area i {
  float: left;
  padding-right: 15px;
}

.icon-tex-title {
  padding-top: 6px;
  font-size: 14px;
  font-weight: 900;
}

.icon-tex-subtitle {
  font-size: 11px;
}

@media (max-width: 768px) {
  .container {
    float: left;
  }
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">

<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
<script defer src="https://use.fontawesome.com/releases/v5.0.6/js/all.js"></script>

<header id="mu-header" style="">
  <div class="container">
    <div class="row">
      <div class="col-md-3">
        <span class="mu-header-logo">
          <img src="http://www.cablecorporation.co.za/wp-content/uploads/2017/09/dummy-logo.png" alt="">
        </span>
      </div>

      <div class="col-md-3 d-flex d-md-none justify-content-end navbar navbar-expand-md navbar-light bg-faded">
        <button class="navbar-toggler navbar-toggler-right2 mu-nav-collapse" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
          <span class="navbar-toggler-icon"></span>
        </button>
      </div>

      <div class="col-md-2">
        <div class="mu-header-area">
          <i class="fa fa-phone fa-2x"></i>
          <p class="icon-tex-title">1234-123456</p>
          <p class="icon-tex-subtitle">Lorem ipsum dolor sit amet</p>
        </div>
      </div>
      <div class="col-md-2">
        <div class="mu-header-area">
          <i class="fa fa-phone fa-2x"></i>
          <p class="icon-tex-title">1234-123456</p>
          <p class="icon-tex-subtitle">Lorem ipsum dolor sit amet</p>
        </div>
      </div>
      <div class="col-md-2">
        <div class="mu-header-area t">
          <i class="fa fa-phone fa-2x"></i>
          <p class="icon-tex-title">1234-123456</p>
          <p class="icon-tex-subtitle">Lorem ipsum dolor sit amet</p>
        </div>
      </div>
    </div>
  </div>
</header>

<div class="container sticky-top mpush mu-nav">
  <div class="row">
    <div class="col-md-12">
      <nav class="navbar navbar-expand-md navbar-light bg-faded">
        <div class="collapse navbar-collapse" id="navbarNavDropdown">
          <ul class="navbar-nav">
            <li class="nav-item active">
              <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="#">Features</a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="#">Pricing</a>
            </li>
            <li class="nav-item dropdown">
              <a class="nav-link dropdown-toggle" href="http://example.com" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                Dropdown link
              </a>
              <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
                <a class="dropdown-item" href="#">Action</a>
                <a class="dropdown-item" href="#">Another action</a>
                <a class="dropdown-item" href="#">Something else here</a>
              </div>
            </li>
          </ul>
        </div>
      </nav>
    </div>
  </div>
</div>

<section id="mu-carousel" class="mpush">
  <div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel">
    <div class="carousel-inner" role="listbox">
      <div class="carousel-item active">
        <img class="d-block img-fluid" src="https://static.pexels.com/photos/93140/pexels-photo-93140.jpeg" alt="First slide">
      </div>
      <div class="carousel-item">
        <img class="d-block img-fluid" src="https://static.pexels.com/photos/93140/pexels-photo-93140.jpeg" alt="Second slide">
      </div>
      <div class="carousel-item">
        <img class="d-block img-fluid" src="https://static.pexels.com/photos/93140/pexels-photo-93140.jpeg" alt="Third slide">
      </div>
    </div>
    <a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
      <span class="carousel-control-prev-icon" aria-hidden="true"></span>
      <span class="sr-only">Previous</span>
    </a>
    <a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next">
      <span class="carousel-control-next-icon" aria-hidden="true"></span>
      <span class="sr-only">Next</span>
    </a>
  </div>
</section>
-----------------------
@media (max-width: 768px) {
  .container {
    float: left;
  }
}
<div class="row">
  <div class="col-8 col-md-6"></div>
  <div class="col-4"></div>
  <div class="col-md-2"></div>
  <div class="col-md-2"></div>
  <div class="col-md-2"></div>
</div>
<div class="row">
  <div class="col-md-3"></div>
  <div class="col-md-3"></div>
  <div class="col-md-2"></div>
  <div class="col-md-2"></div>
  <div class="col-md-2"></div>
</div>
#mu-carousel .carousel-item {
  max-height: 480px;
  width: 100%;
}

.mu-nav-collapse .navbar-nav {
  float: none;
  margin: 0 auto;
  display: block;
  width: 100%;
}

.mpush {
  margin-top: -8px;
}

.navbar-nav>li {
  text-align: left;
  background: white;
  display: inline-block;
}

.navbar-nav .dropdown .dropdown-menu {
  border: none;
  background-color: white;
}

.sticky-top {
  position: relative;
}

.navbar-toggler {
  background: darkgrey;
}

@media (min-width: 768px) {
  .mpush {
    margin-top: -28px;
  }
  #mu-carousel {
    margin-top: -28px;
  }
  .mu-nav {
    margin-top: -28px;
    background: white;
  }
  .navbar-nav {
    float: none;
    margin: 0 auto;
    display: block;
    text-align: center;
  }
  .navbar-nav>li {
    background: white;
  }
  .navbar-nav .dropdown .dropdown-menu {
    background-color: white;
  }
  .mu-nav-bg {
    background: white;
  }
  .sticky-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020;
  }
}

#mu-header {
  background: lightgrey;
  height: 135px;
}

.mu-header-logo {
  height: 85px;
  width: auto;
}

.mu-header-area {
  margin-top: 35px;
  height: 85px;
  width: auto;
  line-height: 0.1;
}

.mu-header-area i {
  float: left;
  padding-right: 15px;
}

.icon-tex-title {
  padding-top: 6px;
  font-size: 14px;
  font-weight: 900;
}

.icon-tex-subtitle {
  font-size: 11px;
}

@media (max-width: 768px) {
  .container {
    float: left;
  }
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">

<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
<script defer src="https://use.fontawesome.com/releases/v5.0.6/js/all.js"></script>

<header id="mu-header" style="">
  <div class="container">
    <div class="row">
      <div class="col-md-3">
        <span class="mu-header-logo">
          <img src="http://www.cablecorporation.co.za/wp-content/uploads/2017/09/dummy-logo.png" alt="">
        </span>
      </div>

      <div class="col-md-3 d-flex d-md-none justify-content-end navbar navbar-expand-md navbar-light bg-faded">
        <button class="navbar-toggler navbar-toggler-right2 mu-nav-collapse" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
          <span class="navbar-toggler-icon"></span>
        </button>
      </div>

      <div class="col-md-2">
        <div class="mu-header-area">
          <i class="fa fa-phone fa-2x"></i>
          <p class="icon-tex-title">1234-123456</p>
          <p class="icon-tex-subtitle">Lorem ipsum dolor sit amet</p>
        </div>
      </div>
      <div class="col-md-2">
        <div class="mu-header-area">
          <i class="fa fa-phone fa-2x"></i>
          <p class="icon-tex-title">1234-123456</p>
          <p class="icon-tex-subtitle">Lorem ipsum dolor sit amet</p>
        </div>
      </div>
      <div class="col-md-2">
        <div class="mu-header-area t">
          <i class="fa fa-phone fa-2x"></i>
          <p class="icon-tex-title">1234-123456</p>
          <p class="icon-tex-subtitle">Lorem ipsum dolor sit amet</p>
        </div>
      </div>
    </div>
  </div>
</header>

<div class="container sticky-top mpush mu-nav">
  <div class="row">
    <div class="col-md-12">
      <nav class="navbar navbar-expand-md navbar-light bg-faded">
        <div class="collapse navbar-collapse" id="navbarNavDropdown">
          <ul class="navbar-nav">
            <li class="nav-item active">
              <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="#">Features</a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="#">Pricing</a>
            </li>
            <li class="nav-item dropdown">
              <a class="nav-link dropdown-toggle" href="http://example.com" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                Dropdown link
              </a>
              <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
                <a class="dropdown-item" href="#">Action</a>
                <a class="dropdown-item" href="#">Another action</a>
                <a class="dropdown-item" href="#">Something else here</a>
              </div>
            </li>
          </ul>
        </div>
      </nav>
    </div>
  </div>
</div>

<section id="mu-carousel" class="mpush">
  <div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel">
    <div class="carousel-inner" role="listbox">
      <div class="carousel-item active">
        <img class="d-block img-fluid" src="https://static.pexels.com/photos/93140/pexels-photo-93140.jpeg" alt="First slide">
      </div>
      <div class="carousel-item">
        <img class="d-block img-fluid" src="https://static.pexels.com/photos/93140/pexels-photo-93140.jpeg" alt="Second slide">
      </div>
      <div class="carousel-item">
        <img class="d-block img-fluid" src="https://static.pexels.com/photos/93140/pexels-photo-93140.jpeg" alt="Third slide">
      </div>
    </div>
    <a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
      <span class="carousel-control-prev-icon" aria-hidden="true"></span>
      <span class="sr-only">Previous</span>
    </a>
    <a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next">
      <span class="carousel-control-next-icon" aria-hidden="true"></span>
      <span class="sr-only">Next</span>
    </a>
  </div>
</section>
-----------------------
@media (max-width: 768px) {
  .container {
    float: left;
  }
}
<div class="row">
  <div class="col-8 col-md-6"></div>
  <div class="col-4"></div>
  <div class="col-md-2"></div>
  <div class="col-md-2"></div>
  <div class="col-md-2"></div>
</div>
<div class="row">
  <div class="col-md-3"></div>
  <div class="col-md-3"></div>
  <div class="col-md-2"></div>
  <div class="col-md-2"></div>
  <div class="col-md-2"></div>
</div>
#mu-carousel .carousel-item {
  max-height: 480px;
  width: 100%;
}

.mu-nav-collapse .navbar-nav {
  float: none;
  margin: 0 auto;
  display: block;
  width: 100%;
}

.mpush {
  margin-top: -8px;
}

.navbar-nav>li {
  text-align: left;
  background: white;
  display: inline-block;
}

.navbar-nav .dropdown .dropdown-menu {
  border: none;
  background-color: white;
}

.sticky-top {
  position: relative;
}

.navbar-toggler {
  background: darkgrey;
}

@media (min-width: 768px) {
  .mpush {
    margin-top: -28px;
  }
  #mu-carousel {
    margin-top: -28px;
  }
  .mu-nav {
    margin-top: -28px;
    background: white;
  }
  .navbar-nav {
    float: none;
    margin: 0 auto;
    display: block;
    text-align: center;
  }
  .navbar-nav>li {
    background: white;
  }
  .navbar-nav .dropdown .dropdown-menu {
    background-color: white;
  }
  .mu-nav-bg {
    background: white;
  }
  .sticky-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020;
  }
}

#mu-header {
  background: lightgrey;
  height: 135px;
}

.mu-header-logo {
  height: 85px;
  width: auto;
}

.mu-header-area {
  margin-top: 35px;
  height: 85px;
  width: auto;
  line-height: 0.1;
}

.mu-header-area i {
  float: left;
  padding-right: 15px;
}

.icon-tex-title {
  padding-top: 6px;
  font-size: 14px;
  font-weight: 900;
}

.icon-tex-subtitle {
  font-size: 11px;
}

@media (max-width: 768px) {
  .container {
    float: left;
  }
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">

<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
<script defer src="https://use.fontawesome.com/releases/v5.0.6/js/all.js"></script>

<header id="mu-header" style="">
  <div class="container">
    <div class="row">
      <div class="col-md-3">
        <span class="mu-header-logo">
          <img src="http://www.cablecorporation.co.za/wp-content/uploads/2017/09/dummy-logo.png" alt="">
        </span>
      </div>

      <div class="col-md-3 d-flex d-md-none justify-content-end navbar navbar-expand-md navbar-light bg-faded">
        <button class="navbar-toggler navbar-toggler-right2 mu-nav-collapse" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
          <span class="navbar-toggler-icon"></span>
        </button>
      </div>

      <div class="col-md-2">
        <div class="mu-header-area">
          <i class="fa fa-phone fa-2x"></i>
          <p class="icon-tex-title">1234-123456</p>
          <p class="icon-tex-subtitle">Lorem ipsum dolor sit amet</p>
        </div>
      </div>
      <div class="col-md-2">
        <div class="mu-header-area">
          <i class="fa fa-phone fa-2x"></i>
          <p class="icon-tex-title">1234-123456</p>
          <p class="icon-tex-subtitle">Lorem ipsum dolor sit amet</p>
        </div>
      </div>
      <div class="col-md-2">
        <div class="mu-header-area t">
          <i class="fa fa-phone fa-2x"></i>
          <p class="icon-tex-title">1234-123456</p>
          <p class="icon-tex-subtitle">Lorem ipsum dolor sit amet</p>
        </div>
      </div>
    </div>
  </div>
</header>

<div class="container sticky-top mpush mu-nav">
  <div class="row">
    <div class="col-md-12">
      <nav class="navbar navbar-expand-md navbar-light bg-faded">
        <div class="collapse navbar-collapse" id="navbarNavDropdown">
          <ul class="navbar-nav">
            <li class="nav-item active">
              <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="#">Features</a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="#">Pricing</a>
            </li>
            <li class="nav-item dropdown">
              <a class="nav-link dropdown-toggle" href="http://example.com" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                Dropdown link
              </a>
              <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
                <a class="dropdown-item" href="#">Action</a>
                <a class="dropdown-item" href="#">Another action</a>
                <a class="dropdown-item" href="#">Something else here</a>
              </div>
            </li>
          </ul>
        </div>
      </nav>
    </div>
  </div>
</div>

<section id="mu-carousel" class="mpush">
  <div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel">
    <div class="carousel-inner" role="listbox">
      <div class="carousel-item active">
        <img class="d-block img-fluid" src="https://static.pexels.com/photos/93140/pexels-photo-93140.jpeg" alt="First slide">
      </div>
      <div class="carousel-item">
        <img class="d-block img-fluid" src="https://static.pexels.com/photos/93140/pexels-photo-93140.jpeg" alt="Second slide">
      </div>
      <div class="carousel-item">
        <img class="d-block img-fluid" src="https://static.pexels.com/photos/93140/pexels-photo-93140.jpeg" alt="Third slide">
      </div>
    </div>
    <a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
      <span class="carousel-control-prev-icon" aria-hidden="true"></span>
      <span class="sr-only">Previous</span>
    </a>
    <a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next">
      <span class="carousel-control-next-icon" aria-hidden="true"></span>
      <span class="sr-only">Next</span>
    </a>
  </div>
</section>
-----------------------
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">

<script defer src="https://use.fontawesome.com/releases/v5.0.6/js/all.js"></script>

<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
    
<style>
    #mu-carousel .carousel-item {
        max-height: 480px;
        width: 100%;
    }

    .mu-nav-collapse .navbar-nav{
        float:none;
        margin:0 auto;
        display: block;
        width: 100%;
    }

    .mpush {
        margin-top: -8px;
    }

    .navbar-nav >li{
        text-align: left;
        background: white;
        display: inline-block;
    }

    .navbar-nav .dropdown .dropdown-menu
    {
        border: none;
        background-color: white;
    }

    .sticky-top {
        position: relative;
    }

    .navbar-toggler {
        background: darkgrey;
    }

    @media (min-width: 768px) {
        .mpush {
            margin-top: -28px;
        }
        #mu-carousel {
            margin-top: -28px;
        }
        .mu-nav {
            margin-top: -28px;
            background: white;
        }
        .navbar-nav {
            float:none;
            margin:0 auto;
            display: block;
            text-align: center;
        }
        .navbar-nav >li {
            background: white;
        }

        .navbar-nav .dropdown .dropdown-menu
        {
            background-color: white;
        }

        .mu-nav-bg {
            background: white;
        }

        .sticky-top {
            position: -webkit-sticky;
            position: sticky;
            top: 0;
            z-index: 1020;
        }
    }

    #mu-header {
        background: lightgrey;
/*        height: 135px; replaced with min-height: 135px; */
        min-height: 135px;
    }

/*
    .mu-header-logo {
        height: 85px;
        width: auto;
    }
*/

    .mu-header-area {
/*        margin-top: 35px; replaced with responsive classes: `mt-0 mt-md-4` */
/*        height: 85px;*/
/*        width: auto;*/
/*        line-height: 0.1;*/
    }

/*
    .mu-header-area i{
        float:left;
        padding-right: 15px;
    }
*/

    .icon-tex-title{
        padding-top: 6px;
        font-size: 14px;
        font-weight: 900;
    }

/*
    .icon-tex-subtitle{
        font-size: 11px; replaced with the `small` class
    }
*/
</style>

<header id="mu-header" style="">
    <div class="container">
        <div class="row">
            <div class="col-8 col-md-3 col-lg-6">
                <span class="mu-header-logo">
                    <img src="http://www.cablecorporation.co.za/wp-content/uploads/2017/09/dummy-logo.png" alt="">
                </span>
            </div>

            <div class="col-4 d-flex d-md-none justify-content-end navbar navbar-expand-md navbar-light bg-faded">
                <button class="navbar-toggler navbar-toggler-right2 mu-nav-collapse" type="button" data-toggle="collapse"
                        data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
                    <span class="navbar-toggler-icon"></span>
                </button>
            </div>

            <div class="col-md-3 col-lg-2 mt-0 mt-md-4 pl-md-5 pr-md-0 pl-lg-3">
                <div class="mu-header-area">
                    <p class="icon-tex-title mb-1">
                    <i class="fa fa-phone fa-2x"></i> 1234-123456</p>
                    <p class="small">Lorem ipsum dolor sit sit sit sit sit sit sit sit</p>
                </div>
            </div>
            <div class="col-md-3 col-lg-2 mt-0 mt-md-4 pl-md-5 pr-md-0 pl-lg-3">
                <div class="mu-header-area">
                    <p class="icon-tex-title mb-1">
                    <i class="fa fa-phone fa-2x"></i> 1234-123456</p>
                    <p class="small">Lorem ipsum dolor sit</p>
                </div>
            </div>
            <div class="col-md-3 col-lg-2 mt-0 mt-md-4 pl-md-5 pr-md-0 pl-lg-3">
                <div class="mu-header-area t">
                    <p class="icon-tex-title mb-1">
                    <i class="fa fa-phone fa-2x"></i> 1234-123456</p>
                    <p class="small">Lorem ipsum dolor sit</p>
                </div>
            </div>
        </div>
    </div>
</header>

<div class="container sticky-top mpush mu-nav">
    <div class="row">
        <div class="col-md-12">
            <nav class="navbar navbar-expand-md navbar-light bg-faded">
                <div class="collapse navbar-collapse" id="navbarNavDropdown">
                    <ul class="navbar-nav">
                        <li class="nav-item active">
                            <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
                        </li>
                        <li class="nav-item">
                            <a class="nav-link" href="#">Features</a>
                        </li>
                        <li class="nav-item">
                            <a class="nav-link" href="#">Pricing</a>
                        </li>
                        <li class="nav-item dropdown">
                            <a class="nav-link dropdown-toggle" href="http://example.com" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                Dropdown link
                            </a>
                            <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
                                <a class="dropdown-item" href="#">Action</a>
                                <a class="dropdown-item" href="#">Another action</a>
                                <a class="dropdown-item" href="#">Something else here</a>
                            </div>
                        </li>
                    </ul>
                </div>
            </nav>
        </div>
    </div>
</div>

<section id="mu-carousel" class="mpush">
    <div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel">
        <div class="carousel-inner" role="listbox">
            <div class="carousel-item active">
                <img class="d-block img-fluid" src="https://static.pexels.com/photos/93140/pexels-photo-93140.jpeg" alt="First slide">
            </div>
            <div class="carousel-item">
                <img class="d-block img-fluid" src="https://static.pexels.com/photos/93140/pexels-photo-93140.jpeg" alt="Second slide">
            </div>
            <div class="carousel-item">
                <img class="d-block img-fluid" src="https://static.pexels.com/photos/93140/pexels-photo-93140.jpeg" alt="Third slide">
            </div>
        </div>
        <a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
            <span class="carousel-control-prev-icon" aria-hidden="true"></span>
            <span class="sr-only">Previous</span>
        </a>
        <a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next">
            <span class="carousel-control-next-icon" aria-hidden="true"></span>
            <span class="sr-only">Next</span>
        </a>
    </div>
</section>

Community Discussions

Trending Discussions on mpush
  • Bootstrap 4 repsonsive layout messed up
Trending Discussions on mpush

QUESTION

Bootstrap 4 repsonsive layout messed up

Asked 2018-Feb-09 at 07:10

while working on my layout for my website the whole css got messed up to the point where I cant see the forest trough the trees anymore.

On desktop size everything looks ok-ish, except that the text next to the icon (in the fiddle it floats on top of the text for some reason) gets squashed together, I do not get how I can get it to show the whole sentence on one line. Then when you resize the website I lose the whole 3 icon+text parts under the carousel and collapsed menu. Preferably I would like the menu to expand under the 3 icon+text parts.

No idea how I can get it to show up right as soon as it resizes.

https://jsfiddle.net/adyzv8yu/

#mu-carousel .carousel-item {
    max-height: 480px;
    width: 100%;
}

.mu-nav-collapse .navbar-nav{
    float:none;
    margin:0 auto;
    display: block;
    width: 100%;
}

.mpush {
    margin-top: -8px;
}

.navbar-nav >li{
    text-align: left;
    background: white;
    display: inline-block;
}

.navbar-nav .dropdown .dropdown-menu
{
    border: none;
    background-color: white;
}

.sticky-top {
    position: relative;
}

.navbar-toggler {
    background: darkgrey;
}

@media (min-width: 768px) {
    .mpush {
        margin-top: -28px;
    }
    #mu-carousel {
        margin-top: -28px;
    }
    .mu-nav {
        margin-top: -28px;
        background: white;
    }
    .navbar-nav {
        float:none;
        margin:0 auto;
        display: block;
        text-align: center;
    }
    .navbar-nav >li {
        background: white;
    }

    .navbar-nav .dropdown .dropdown-menu
    {
        background-color: white;
    }

    .mu-nav-bg {
        background: white;
    }

    .sticky-top {
        position: -webkit-sticky;
        position: sticky;
        top: 0;
        z-index: 1020;
    }
}

#mu-header {
    background: lightgrey;
    height: 135px;
}

.mu-header-logo {
    height: 85px;
    width: auto;
}

.mu-header-area {
    margin-top: 35px;
    height: 85px;
    width: auto;
    line-height: 0.1;
}

.mu-header-area i{
    float:left;
    padding-right: 15px;
}

.icon-tex-title{
    padding-top: 6px;
    font-size: 14px;
    font-weight: 900;
}

.icon-tex-subtitle{
    font-size: 11px;
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">

<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
<script defer src="https://use.fontawesome.com/releases/v5.0.6/js/all.js"></script>


  

<header id="mu-header" style="">
    <div class="container">
        <div class="row">
            <div class="col-8 col-md-6">
                <span class="mu-header-logo">
                    <img src="http://www.cablecorporation.co.za/wp-content/uploads/2017/09/dummy-logo.png" alt="">
                </span>
            </div>

            <div class="col-4 d-flex d-md-none justify-content-end navbar navbar-expand-md navbar-light bg-faded">
                <button class="navbar-toggler navbar-toggler-right2 mu-nav-collapse" type="button" data-toggle="collapse"
                        data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
                    <span class="navbar-toggler-icon"></span>
                </button>
            </div>

            <div class="col-md-2">
                <div class="mu-header-area">
                    <i class="fa fa-phone fa-2x"></i>
                    <p class="icon-tex-title">1234-123456</p>
                    <p class="icon-tex-subtitle">Lorem ipsum dolor sit amet</p>
                </div>
            </div>
            <div class="col-md-2">
                <div class="mu-header-area">
                    <i class="fa fa-phone fa-2x"></i>
                    <p class="icon-tex-title">1234-123456</p>
                    <p class="icon-tex-subtitle">Lorem ipsum dolor sit amet</p>
                </div>
            </div>
            <div class="col-md-2">
                <div class="mu-header-area t">
                    <i class="fa fa-phone fa-2x"></i>
                    <p class="icon-tex-title">1234-123456</p>
                    <p class="icon-tex-subtitle">Lorem ipsum dolor sit amet</p>
                </div>
            </div>
        </div>
    </div>
</header>

<div class="container sticky-top mpush mu-nav">
    <div class="row">
        <div class="col-md-12">
            <nav class="navbar navbar-expand-md navbar-light bg-faded">
                <div class="collapse navbar-collapse" id="navbarNavDropdown">
                    <ul class="navbar-nav">
                        <li class="nav-item active">
                            <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
                        </li>
                        <li class="nav-item">
                            <a class="nav-link" href="#">Features</a>
                        </li>
                        <li class="nav-item">
                            <a class="nav-link" href="#">Pricing</a>
                        </li>
                        <li class="nav-item dropdown">
                            <a class="nav-link dropdown-toggle" href="http://example.com" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                Dropdown link
                            </a>
                            <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
                                <a class="dropdown-item" href="#">Action</a>
                                <a class="dropdown-item" href="#">Another action</a>
                                <a class="dropdown-item" href="#">Something else here</a>
                            </div>
                        </li>
                    </ul>
                </div>
            </nav>
        </div>
    </div>
</div>

<section id="mu-carousel" class="mpush">
    <div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel">
        <div class="carousel-inner" role="listbox">
            <div class="carousel-item active">
                <img class="d-block img-fluid" src="https://static.pexels.com/photos/93140/pexels-photo-93140.jpeg" alt="First slide">
            </div>
            <div class="carousel-item">
                <img class="d-block img-fluid" src="https://static.pexels.com/photos/93140/pexels-photo-93140.jpeg" alt="Second slide">
            </div>
            <div class="carousel-item">
                <img class="d-block img-fluid" src="https://static.pexels.com/photos/93140/pexels-photo-93140.jpeg" alt="Third slide">
            </div>
        </div>
        <a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
            <span class="carousel-control-prev-icon" aria-hidden="true"></span>
            <span class="sr-only">Previous</span>
        </a>
        <a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next">
            <span class="carousel-control-next-icon" aria-hidden="true"></span>
            <span class="sr-only">Next</span>
        </a>
    </div>
</section>

ANSWER

Answered 2018-Feb-08 at 23:16

In order to have your menu appear below your icons at a small width, you'll need to float your .container to the left at small widths:

@media (max-width: 768px) {
  .container {
    float: left;
  }
}

As for your text squashing together, that doesn't happen in the StackSnippet (though it does in the JSFiddle). I assume this is because it doesn't have enough width to display properly. This is because you have used an incorrect number of Bootstrap columns inside of your <header>:

<div class="row">
  <div class="col-8 col-md-6"></div>
  <div class="col-4"></div>
  <div class="col-md-2"></div>
  <div class="col-md-2"></div>
  <div class="col-md-2"></div>
</div>

Bootstrap columns must always add up to 12, and yours add up to 18. Correcting this to the following structure (totalling 12) should resolve this:

<div class="row">
  <div class="col-md-3"></div>
  <div class="col-md-3"></div>
  <div class="col-md-2"></div>
  <div class="col-md-2"></div>
  <div class="col-md-2"></div>
</div>

This can be seen in the following:

#mu-carousel .carousel-item {
  max-height: 480px;
  width: 100%;
}

.mu-nav-collapse .navbar-nav {
  float: none;
  margin: 0 auto;
  display: block;
  width: 100%;
}

.mpush {
  margin-top: -8px;
}

.navbar-nav>li {
  text-align: left;
  background: white;
  display: inline-block;
}

.navbar-nav .dropdown .dropdown-menu {
  border: none;
  background-color: white;
}

.sticky-top {
  position: relative;
}

.navbar-toggler {
  background: darkgrey;
}

@media (min-width: 768px) {
  .mpush {
    margin-top: -28px;
  }
  #mu-carousel {
    margin-top: -28px;
  }
  .mu-nav {
    margin-top: -28px;
    background: white;
  }
  .navbar-nav {
    float: none;
    margin: 0 auto;
    display: block;
    text-align: center;
  }
  .navbar-nav>li {
    background: white;
  }
  .navbar-nav .dropdown .dropdown-menu {
    background-color: white;
  }
  .mu-nav-bg {
    background: white;
  }
  .sticky-top {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    z-index: 1020;
  }
}

#mu-header {
  background: lightgrey;
  height: 135px;
}

.mu-header-logo {
  height: 85px;
  width: auto;
}

.mu-header-area {
  margin-top: 35px;
  height: 85px;
  width: auto;
  line-height: 0.1;
}

.mu-header-area i {
  float: left;
  padding-right: 15px;
}

.icon-tex-title {
  padding-top: 6px;
  font-size: 14px;
  font-weight: 900;
}

.icon-tex-subtitle {
  font-size: 11px;
}

@media (max-width: 768px) {
  .container {
    float: left;
  }
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">

<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
<script defer src="https://use.fontawesome.com/releases/v5.0.6/js/all.js"></script>

<header id="mu-header" style="">
  <div class="container">
    <div class="row">
      <div class="col-md-3">
        <span class="mu-header-logo">
          <img src="http://www.cablecorporation.co.za/wp-content/uploads/2017/09/dummy-logo.png" alt="">
        </span>
      </div>

      <div class="col-md-3 d-flex d-md-none justify-content-end navbar navbar-expand-md navbar-light bg-faded">
        <button class="navbar-toggler navbar-toggler-right2 mu-nav-collapse" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
          <span class="navbar-toggler-icon"></span>
        </button>
      </div>

      <div class="col-md-2">
        <div class="mu-header-area">
          <i class="fa fa-phone fa-2x"></i>
          <p class="icon-tex-title">1234-123456</p>
          <p class="icon-tex-subtitle">Lorem ipsum dolor sit amet</p>
        </div>
      </div>
      <div class="col-md-2">
        <div class="mu-header-area">
          <i class="fa fa-phone fa-2x"></i>
          <p class="icon-tex-title">1234-123456</p>
          <p class="icon-tex-subtitle">Lorem ipsum dolor sit amet</p>
        </div>
      </div>
      <div class="col-md-2">
        <div class="mu-header-area t">
          <i class="fa fa-phone fa-2x"></i>
          <p class="icon-tex-title">1234-123456</p>
          <p class="icon-tex-subtitle">Lorem ipsum dolor sit amet</p>
        </div>
      </div>
    </div>
  </div>
</header>

<div class="container sticky-top mpush mu-nav">
  <div class="row">
    <div class="col-md-12">
      <nav class="navbar navbar-expand-md navbar-light bg-faded">
        <div class="collapse navbar-collapse" id="navbarNavDropdown">
          <ul class="navbar-nav">
            <li class="nav-item active">
              <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="#">Features</a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="#">Pricing</a>
            </li>
            <li class="nav-item dropdown">
              <a class="nav-link dropdown-toggle" href="http://example.com" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                Dropdown link
              </a>
              <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
                <a class="dropdown-item" href="#">Action</a>
                <a class="dropdown-item" href="#">Another action</a>
                <a class="dropdown-item" href="#">Something else here</a>
              </div>
            </li>
          </ul>
        </div>
      </nav>
    </div>
  </div>
</div>

<section id="mu-carousel" class="mpush">
  <div id="carouselExampleIndicators" class="carousel slide" data-ride="carousel">
    <div class="carousel-inner" role="listbox">
      <div class="carousel-item active">
        <img class="d-block img-fluid" src="https://static.pexels.com/photos/93140/pexels-photo-93140.jpeg" alt="First slide">
      </div>
      <div class="carousel-item">
        <img class="d-block img-fluid" src="https://static.pexels.com/photos/93140/pexels-photo-93140.jpeg" alt="Second slide">
      </div>
      <div class="carousel-item">
        <img class="d-block img-fluid" src="https://static.pexels.com/photos/93140/pexels-photo-93140.jpeg" alt="Third slide">
      </div>
    </div>
    <a class="carousel-control-prev" href="#carouselExampleIndicators" role="button" data-slide="prev">
      <span class="carousel-control-prev-icon" aria-hidden="true"></span>
      <span class="sr-only">Previous</span>
    </a>
    <a class="carousel-control-next" href="#carouselExampleIndicators" role="button" data-slide="next">
      <span class="carousel-control-next-icon" aria-hidden="true"></span>
      <span class="sr-only">Next</span>
    </a>
  </div>
</section>

Hope this helps!

Source https://stackoverflow.com/questions/48696155

Community Discussions, Code Snippets contain sources that include Stack Exchange Network

Vulnerabilities

No vulnerabilities reported

Install mpush

You can download it from GitHub, Maven.
You can use mpush like any standard Java library. Please include the the jar files in your classpath. You can also use any IDE and you can run and debug the mpush component as you would do with any other Java program. Best practice is to use a build tool that supports dependency management such as Maven or Gradle. For Maven installation, please refer maven.apache.org. For Gradle installation, please refer gradle.org .

Support

For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .

DOWNLOAD this Library from

Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from
over 430 million Knowledge Items
Find more libraries
Reuse Solution Kits and Libraries Curated by Popular Use Cases

Save this library and start creating your kit

Explore Related Topics

Share this Page

share link
Consider Popular Websocket Libraries
Compare Websocket Libraries with Highest Support
Compare Websocket Libraries with Permissive License
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from
over 430 million Knowledge Items
Find more libraries
Reuse Solution Kits and Libraries Curated by Popular Use Cases

Save this library and start creating your kit

  • © 2022 Open Weaver Inc.