V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  assiadamo  ›  全部回复第 8 页 / 共 23 页
回复总数  449
1 ... 4  5  6  7  8  9  10  11  12  13 ... 23  
golang 随便抄了一个,就这么简单、
```
package main

import (
"flag"
"fmt"
"io"
"log"
"net"
)

var localAddr *string = flag.String("l", "localhost:9999", "local address")
var remoteAddr *string = flag.String("r", "localhost:80", "remote address")

func main() {
flag.Parse()
fmt.Printf("Listening: %v\nProxying: %v\n\n", *localAddr, *remoteAddr)

listener, err := net.Listen("tcp", *localAddr)
if err != nil {
panic(err)
}
for {
conn, err := listener.Accept()
log.Println("New connection", conn.RemoteAddr())
if err != nil {
log.Println("error accepting connection", err)
continue
}
go func() {
defer conn.Close()
conn2, err := net.Dial("tcp", *remoteAddr)
if err != nil {
log.Println("error dialing remote addr", err)
return
}
defer conn2.Close()
closer := make(chan struct{}, 2)
go copy(closer, conn2, conn)
go copy(closer, conn, conn2)
<-closer
log.Println("Connection complete", conn.RemoteAddr())
}()
}
}

func copy(closer chan struct{}, dst io.Writer, src io.Reader) {
_, _ = io.Copy(dst, src)
closer <- struct{}{} // connection is closed, send signal to stop proxy
}
```
netty 自带 proxy 的例子看看行不行
https://github.com/netty/netty/tree/4.1/example/src/main/java/io/netty/example/proxy
这种小功能感觉用 java 太重,可以用 golang 试试
润去其他地区的微软
@chenfcheng 游戏体量小的时候和 web 服务体量小的时候并无区别,单机很正常,如果你的愿景够大,也可以一开始在做的时候就设计出来很多个服,分布式、主从、微服务任你选择。
你不能要求羊了个羊要按魔兽世界那样的服务器规模来对不对。
@awanganddong 一堆日本小二次与手游是 http 的,表现和玩法都是客户端做,服务器就存下数据和做一下敏感的业务,比如抽卡,氪金啥的。所以不用担心,想转就转。
比较高端的是状态同步需要服务器实时计算的游戏,用 tcp 长连接的,但都有现成的框架,大多数时候也都是堆业务,和 curd 没啥区别。只是游戏服务器技术比较封闭,不像互联网各种高端的方案和中间件,总的来说,没有什么特别要求的地方,只需要理解业务。
真的想补八股的话,就操作系统和计算机网络的知识,以及一些游戏中常特有的名词,https://gpp.tkchu.me/ 参考这个电子书,去想一想平时玩的游戏,一些效果是怎样实现的,就行了。
@awanganddong 具体是什么呢,web 调用游戏的 api ?游戏自己提供 web 服务?
几年游戏行业程序小兵路过,也挺烦的最近,主要是同期的同事选择其他行业已经成行业大佬了,我还在吃屎
329 天前
回复了 LDa 创建的主题 程序员 焦虑,想改变
#3 当前是某司技术主管
@dasvenxx 有缘捞我
329 天前
回复了 LDa 创建的主题 程序员 焦虑,想改变
应该是: 那些公司都配不上我,我要自己单干
329 天前
回复了 aiaiwo21 创建的主题 生活 新开银行卡,伴随一些诡异现象
前两周去建行办工资卡,同各种扫码麻烦死,不过没啥提示说开通了其他业务,可能是在上海市中心不敢瞎搞吧
330 天前
回复了 estk 创建的主题 职场话题 什么是大周,什么是小周?
大周不休息,小周休一天
攒一攒,下个月换手机
334 天前
回复了 Richard14 创建的主题 程序员 求推荐一本 go 语言入门教学书籍
go 语言设计与实现
https://draveness.me/golang/
335 天前
回复了 Ivone29 创建的主题 职场话题 小人打小报告,被公司辞退了
从哪找的私活
@Morii 之前项目也用过 golang 写过服务器,不过是三年多前了,现在忘得差不多了,估计也过不了面试
成员都是 newbee ,反而感觉像批站呢
上海,曾住在中学旁边,我上班的时候人家还没开始上学,人家放学时我离下班还远,于是从来没感受到过住在学校边上
@Morii 我是做 java 游戏服务器的,也在找机会转型,但之前看了下乐元素 java 只有电商,于是错过了
339 天前
回复了 oldboy627 创建的主题 程序员 面试挂了~
羡慕,我之前有个面试机会,和猎头英文交流,猎头说我可以,但我觉得英语还是不行,放弃了。
还是需要大练英语
1 ... 4  5  6  7  8  9  10  11  12  13 ... 23  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1170 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 30ms · UTC 18:20 · PVG 02:20 · LAX 11:20 · JFK 14:20
Developed with CodeLauncher
♥ Do have faith in what you're doing.