问个windows编程的基础问题。(10分)

  • 主题发起人 主题发起人 mill666
  • 开始时间 开始时间
M

mill666

Unregistered / Unconfirmed
GUEST, unregistred user!
我是个windows socket编程的新手,有个问题一直搞不清楚。
原来一直从事unix下的网络编程。
现在想写一个基于windows下的服务端,这个服务端在某个时刻有可能接受到多个客户端请求,就是说这个服务端面向多个客户端的。
现在想问一个问题,就是变量的空间问题。
在unix下,这个问题是通过fork一个新的进程,新的进程复制一个新的变量空间,跟其他进程的变量空间不会相互覆盖,就是说A进程的变量X 的值不会覆盖B进程的同名称变量X的值。
不知道windows下的socket编程怎么实现这个最基本的要求。

我是windows下的socket新手,望大侠们多多指点。
谢谢了先!
 
呵呵,那就是线程罗,线程类的私有变量
 
自己建一个队列,存放每个对应的Socket的数据,自己维护这个队列。

或者,Socket有一个data属性,是指针,把你定义的变量数据存放在这个指针里面,自己维护。
服务端的ServerSocket自己会维护他所连接的客户端Socket,你可以看ServerSocket的onread、onconnect、onerror、ondisconnect等过程,都有一个Socket:TCustomWinSocket的参数,这个就是当前Socket会话中的客户端Socket连接,你直接读这个Socket的Data中存放的指针即可。
大致就是客户端连接上来以后创建,客户端断开后释放这个指针,即可维护你所有的客户端的变量
 
后退
顶部