Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

the Wrapped Gorilla Websocket connection by Gorilla Mux, does not work within the docker container. #758

Open
1 task done
mindwingx opened this issue May 3, 2024 · 1 comment
Labels

Comments

@mindwingx
Copy link

mindwingx commented May 3, 2024

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

the below Mux HandlerFunc works well.

func WsHandler(rw http.ResponseWriter, r *http.Request) {
	ws, err := upgradeConn.Upgrade(rw, r, nil)
	if err != nil {
		log.Println(err)
	}

	log.Println("connected to the ws ep.")

	conn := WsConn{ws}
	clients[conn] = WsConnDetail{}

	go WsListener(&conn)
}

Expected Behavior

but the WS connection is not available after building the application docker image and running the container.
image

Steps To Reproduce

docker-compose

version: "3.8"
services:

  core:
    container_name: webrtc_service
    build:
      context: .
      dockerfile: Dockerfile
    image: rtc
    restart: always
    ports:
      - "8080:8080"
    networks:
      - admin-service
```

### Anything else?

 Dockerfile

```
FROM golang:1.21.6

WORKDIR /app

COPY . .

ENV GO111MODULE on
ENV GOPROXY https://goproxy.cn

# RUN go test -v .

RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o main presenter/main.go
RUN chmod +x main

CMD ["/app/main"]
```
@mindwingx mindwingx added the bug label May 3, 2024
@hulkingshtick
Copy link

What is the log output of WsHandler? Specifically, does upgradeConn.Upgrade return an error?

As a side note, there are bugs in WsHandler.

  • handler should return after logging error from upgradeConn.Upgrade.
  • data race on this line: clients[conn] = WsConnDetail{} Run application with the Data Race Detector and fix reported problems.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants