Created
September 10, 2021 18:22
-
-
Save rodrigc/3ab95938240ea0e99e28aa061a07f209 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package main | |
import ( | |
"bufio" | |
"fmt" | |
"github.com/go-redis/redis" | |
"os" | |
"strings" | |
"time" | |
) | |
func RedisNewClient() (*redis.Client, error) { | |
client := redis.NewClient(&redis.Options{ | |
Addr: "134.122.1.169:6379", | |
Password: "", // no password set | |
DB: 0, // use default DB | |
}) | |
pong, err := client.Ping().Result() | |
fmt.Println(pong, err) | |
// Output: PONG <nil> | |
return client, err | |
} | |
func main() { | |
fmt.Printf("sender or receiver:: ") | |
reader := bufio.NewReader(os.Stdin) | |
role, _ := reader.ReadString('\n') | |
role = strings.Trim(role, "\n") | |
fmt.Printf("ROLE: %v\n", role) | |
if role == "sender" { | |
sender() | |
} else if role == "receiver" { | |
receiver() | |
} else { | |
panic("Unknown") | |
} | |
} | |
func receiver() { | |
client, err := RedisNewClient() | |
if err != nil { | |
fmt.Printf("%v %v\n", err, client) | |
os.Exit(1) | |
} | |
//counter := 0 | |
for { | |
key := "MSG" | |
val2, err := client.Get(key).Result() | |
if err == redis.Nil { | |
fmt.Printf("[REDIS] Message with key: %s does not exist", key) | |
} else if err != nil { | |
panic(err) | |
} else { | |
fmt.Printf("[REDIS] You received message with key: %s, value: %s\n", key, val2) | |
} | |
time.Sleep(1 * time.Second) | |
} | |
} | |
func sender() { | |
client, err := RedisNewClient() | |
if err != nil { | |
fmt.Printf("%v %v\n", err, client) | |
os.Exit(1) | |
} | |
fmt.Printf("Enter your Name: ") | |
reader := bufio.NewReader(os.Stdin) | |
name, _ := reader.ReadString('\n') | |
name = strings.Trim(name, "\n") | |
fmt.Printf("Your name is: %s\n", name) | |
//counter := 0 | |
for { | |
fmt.Printf("Enter your message: ") | |
msg, _ := reader.ReadString('\n') | |
//fmt.Printf("You send message: %s\n", msg) | |
key := "MSG" | |
//counter += 1 | |
sendMsg := fmt.Sprintf("%s: %s", name, msg) | |
err := client.Set(key, sendMsg, 0).Err() | |
if err != nil { | |
panic(err) | |
} | |
val2, err := client.Get(key).Result() | |
if err == redis.Nil { | |
fmt.Printf("[REDIS] Message with key: %s does not exist", key) | |
} else if err != nil { | |
panic(err) | |
} else { | |
fmt.Printf("[REDIS] You sent message with key: %s, value: %s\n", key, val2) | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment