我要写一个服务器,作用是用做游戏的
我昨天问过一个人的问题,但是他说的也不是很清楚
他说,服务器通过TCP协议使用SOCKET和客户端进行连接
但服务器只有一个SOCKET,所有连接近来的客户端全部使用这个SOCKET
而在程序中使用与客户端个数相对应的线程我不明白的是,如果只有一个SOCKET,那怎么判断是和哪一个客户端进行通信呢?
还有,这样是不是可行呢?
我对网络通信和连接这方面不是很明白,基本上是初学者,请大家教教我该如何去做
如果有例子能发给我一个看看,让我学习就更好了!
非常感谢!!
我昨天问过一个人的问题,但是他说的也不是很清楚
他说,服务器通过TCP协议使用SOCKET和客户端进行连接
但服务器只有一个SOCKET,所有连接近来的客户端全部使用这个SOCKET
而在程序中使用与客户端个数相对应的线程我不明白的是,如果只有一个SOCKET,那怎么判断是和哪一个客户端进行通信呢?
还有,这样是不是可行呢?
我对网络通信和连接这方面不是很明白,基本上是初学者,请大家教教我该如何去做
如果有例子能发给我一个看看,让我学习就更好了!
非常感谢!!
解决方案 »
- 如何点击按钮执行两个函数?
- SQl交叉报表
- 正则匹配问题,高手帮帮忙
- 如何获得其他进程的文本输入框的句柄?
- winform中如何获取另一个窗体中的控件的信息
- 把一个PictureBox的图片拖到另一个PictureBox里面显示
- 程序在运行时的标记不是有进度条吗,有没有一个其它的方式指示程序是否完成啊,比如指针变成沙漏或其它图片?
- 进程间消息问题
- 大哥哥,大姐姐们.我是菜鸟,请问可不可以给一个c#.net的aspx网页带数据库access连接的
- 谁能解决VB(client)跟C#(server)通信技术,500RMB购买!
- vs2005 代码提示的符号说明是???
- 。Net技术关于winforms的应用
Socket[] socketlist;//用来保存客户端的socket
int listnum;
Thread newthread;......
newthread=new thread(new ThreadStart(Receive));......Receive()
{
while(true)
{
socketlist[listnum]=socket.accept();
.......
}
listnum++;
}你可以根据socketlist[]来判断是哪个客户端与服务器进行了连接。