+#
+
+```go
+
+ ln, err := net.Listen("tcp", "0.0.0.0:8080")
+ if err != nil {
+ fmt.Println(err)
+ return
+ }
+```
+
+```c
+
+ sockfd = socket(AF_INET, SOCK_STREAM, 0);
+ if (sockfd == -1) {
+ printf("socket creation failed\n");
+ return -1;
+ } else {
+ printf("socket successfully created\n");
+ }
+
+ if(setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, (char *)&opt, sizeof(opt)) < 0 ){
+ printf("setsockopt failed\n");
+ return -1;
+ }
+
+ memset(&servaddr, 0, sizeof(servaddr));
+
+ servaddr.sin_family = AF_INET;
+ servaddr.sin_addr.s_addr = htonl(INADDR_ANY);
+ servaddr.sin_port = htons(PORT);
+
+ if ((bind(sockfd, (struct sockaddr*)&servaddr, sizeof(servaddr))) != 0) {
+ printf("socket bind failed\n");
+ return -1;
+ }
+
+ if(make_socket_non_blocking(sockfd) < 0){
+ printf("non-blocking failed\n");
+ return -1;
+ }
+
+ if ((listen(sockfd, client_num + 1)) != 0) {
+ printf("listen failed\n");
+ return -1;
+ }
+```
+
#
```shell