Skip to content

Instantly share code, notes, and snippets.

@jeremywho
Last active November 26, 2017 17:40
Show Gist options
  • Save jeremywho/c101d3bfdfff23ab0443477ef6e600af to your computer and use it in GitHub Desktop.
Save jeremywho/c101d3bfdfff23ab0443477ef6e600af to your computer and use it in GitHub Desktop.
package main
import (
"fmt"
"time"
"github.com/gorilla/websocket"
)
func main() {
URL := "ws://echo.websocket.org/"
var dialer *websocket.Dialer
conn, _, err := dialer.Dial(URL, nil)
if err != nil {
fmt.Println(err)
return
}
go timeWriter(conn)
for {
_, message, err := conn.ReadMessage()
if err != nil {
fmt.Println("read:", err)
return
}
fmt.Printf("received: %s\n", message)
}
}
func timeWriter(conn *websocket.Conn) {
for {
time.Sleep(time.Second * 2)
conn.WriteMessage(websocket.TextMessage, []byte(time.Now().Format("2006-01-02 15:04:05")))
}
}
@anupsunni
Copy link

How to add Client.crt and Client.key to this piece of code as I need to connect to an existing TLS1.2 websocket (wss (selfsigned))
My existing websocket is from NODE.JS server.

You Can check My Node.js server code:

==========================================================
var express = require('express');
var app = express();
var fs = require('fs');
/var expressWs = require('express-ws')(app);/
var port = process.env.port || 1995;
var https = require('https');

var serverKey = fs.readFileSync('cert/server.key', 'utf8');
var serverCrt = fs.readFileSync('cert/server.crt', 'utf8');
var credentials = {key: serverKey, cert: serverCrt};
var httpsServer = https.createServer(credentials, app);

app.use(function (req, res, next) {
console.log('middleware');
req.testing = 'testing';
return next();
});

app.get('/', function(req, res, next){
console.log('get route', req.testing);
res.end();
});

var WebSocketServer = require('ws').Server;
var wss = new WebSocketServer({
server: httpsServer
});

wss.on('connection', function connection(ws) {
  ws.on('message', function incoming(message) {
    console.log('received: %s', message);
  });

  ws.send('something');
});

httpsServer.listen(port,function(err){
console.log("College Server is running on: "+port);
});

============================================================

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment