如题:
socket编程,想将服务器放在外网,内网用户可以与服务器通讯吗?
socket用的是IP地址和端口,而内网用户经路由转发后的IP地址都是相同的,如何区分这些来自不同机器的IP?
像腾讯QQ这种即时通讯是通过什么方式来解决?socketqq即时通讯
socket编程,想将服务器放在外网,内网用户可以与服务器通讯吗?
socket用的是IP地址和端口,而内网用户经路由转发后的IP地址都是相同的,如何区分这些来自不同机器的IP?
像腾讯QQ这种即时通讯是通过什么方式来解决?socketqq即时通讯
"type": "Register",
"sn": 6,
"app": "微信电冰箱客户端",
"data":
{
"userId": "45987363",
"pwd_hash": "7374823883342ab="
}
}(当然这只是举例)通过json对象的的type属性告诉服务器这是Register命令,服务器就会用相应的类型把data反序列化为.net程序的、你自定义的Register类型对象实例(假设服务器是.net开发的),然后执行这个对象的Execute方法(假设所有命令都实现了ICommand接口),最后将这个方法的返回的object值再序列化为json字符串返回给客户端。而客户端当然知道返回的字符串的反序列化类型。
"type": "发送聊天消息",
"sn": 11298,
"pid": "ix99237623",
"to": "ix92833741",
"data":
{
"html": "<img src=\"pic101.png\" alt=\"吐舌\" />不可以<strong>!</ strong>",
"楼层编号": 120,
"style class": "x330"
}
}
通过会话编号,来标识客户端的应用程序进程。而不是什么IP。
比如Server端IP:212.85.157.9
Client端内网IP:192.168.253.2,WAN口IP:212.88.15.6
Client连接Server时,直接使用UpdClient.Send( , , ) 这里用212.85.157.9与Server连接?
Server接收到的数据显示来源是212.88.15.6还是192.168.253.2?
这时候直接获得的IP回复会返回到Client端?
关于socket编程看来还有很多要学习的