谷歌对我的问题有点棘手,因为它更多的是关于流程的问题,而不是严格的技术问题。
我正在建立一个基本的TCP客户端/服务器系统,我想知道如何在理想情况下进行来回通信。在我的特定情况下,客户端必须提交登录凭据,并从服务器发出特定请求(服务器与远程数据库交互)。
以下是我想要做的事情......而我只是从其他开发者的输入中寻找。
SERVER: Wait for new connections
CLIENT: Connects to server
CLIENT: Once connected, send login credentials with an instruction code.
i.e. $LOGIN$,username,password
SERVER: Check instruction code, if code = $LOGIN$, try to authenticate
SERVER: If authentication fails, send user message saying login failed
i.e. $MSG$,101,Login Failed
CLIENT: If instruction code = $MSG$ and if message id = 101, display message and disconnect.
另一种情况......让我们说客户想要请求最近在服务器上发生的事情的日志(控制台应用程序窗口的文本)。
CLIENT: Send request message to server for recent log
i.e. $REQ$,105
SERVER: If instruction = $REQ$ and request id = 105, get window text and send to client
i.e. $DATA$,105,<data here>
CLIENT: If instruction = $DATA$ and data id = 105, parse data and display to user
请求的数据可以是纯文本,也可以是转换为XML等的.net数据表。它可以是各种各样的东西。
对此的想法?提示?
谢谢!
答案 0 :(得分:2)
我强烈建议您通过安全(https)连接使用WCF Data Services。它非常适合以灵活高效的方式通过网络公开数据集,依靠经过验证的ASP.NET身份验证来保证安全。
如果您仍需要基本的TCP / IP,请考虑以下事项:
请注意,WCF数据服务(通过HTTPS使用时)会为您处理上述所有内容。