static int ThreadCount=0;
...
if (ThreadCount<=100)
{
ServerThread=new Thread(new ThreadStart(server.startthread);
ServerThread.Priority=ThreadPriority.Normal;
ServerThread.Start();
ThreadCount++;
}
else
{...}
...
if (ThreadCount<=100)
{
ServerThread=new Thread(new ThreadStart(server.startthread);
ServerThread.Priority=ThreadPriority.Normal;
ServerThread.Start();
ThreadCount++;
}
else
{...}
解决方案 »
- 请教高手
- 键盘钩子 C#
- C# 控制扫描仪问题 "磁盘已满"
- thread.sleep(1)是最小单位了?我需要程序暂停1秒的两千分之一咋办呀?
- 关于一个C#连接MySql的问题。!~
- label控件怎么显示listbox的所有内容?
- FCKeditor.Net 2.6.3 编辑器里能不能竖排(从左到右)写字
- 我在文本框的KeyPress事件里设置了只允许文本框输入数字,英文字母是不可以输入了,但却可以用五笔加加输入汉字,这怎么解决?
- ListItemCollection 类在哪个命名空间下
- CNN称微软总裁比尔-盖茨在美国洛衫矶遭人暗杀!!!!!!希望是假新闻。
- webform问题
- 工程文件考到其他的机子上出现配置文件出错,是什么原因?
//.....start
}else{
//.....busy
}
----------------------
你的好多贴应该结一下了吧!
你取的是所有的进程,我只是想是执行特定代码的进程server.startthread
那该怎么办呢,还有,上面的第一个人写的对吗,可以吗谢谢,马上就给分
对了我的前面有一个还想问你就是http://www.csdn.net/Expert/TopicView1.asp?id=717421
------------------------------
我是一只小小鸟
欢迎交流!尽管问我吧,我会帮你解决的!
尽快结帖哦!我是CSDN的菜鸟,我想获得一颗星!支持我吧!
MSN&Mail: [email protected]
{
private static TcpListener t = new TcpListener(7);
public System.Threading.Thread ServerThread;
private static bool done=false;
static int ThreadCount=0;
public static void Main()
{
try
{
t.Start();
Console.WriteLine("Waiting for a connection...");//我想在这里控制线程的个数,但可能有错误,不知如何
if(ThreadCount<=0)
{
server server1=new server();
server1.ServerThread=new Thread(new ThreadStart(server1.startthread));
server1.ServerThread.Priority=ThreadPriority.Normal;
server1.ServerThread.Start();
ThreadCount++;
Console.WriteLine(ThreadCount.ToString());
}
else
{
Console.WriteLine("system is busying");
}
}
catch(Exception ex)
{
Console.WriteLine("Can't Start Server"+ex.ToString());
return;
}
}
void startthread()
{
while (!done)
{
try
{
TcpClient s = t.AcceptTcpClient();
NetworkStream stream=s.GetStream();
byte[] bytes = new byte[2048];
int bytesRead = stream.Read(bytes, 0, bytes.Length);
string xmlfile = Encoding.ASCII.GetString(bytes,0,bytesRead);
stream.Flush();
string name= server.checkxml(xmlfile);
string returnmessage="hello I have get you message"+name;
bytes= Encoding.ASCII.GetBytes(returnmessage);
stream.Write(bytes, 0, bytes.Length);
stream.Flush();
stream.Close();
s.Close();
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
done=true;
}
}
}
public static string checkxml(string xmlstream)
{
try
{
XmlDocument xmldoc = new XmlDocument();
xmldoc.LoadXml(xmlstream);
XmlNode root = xmldoc.DocumentElement;
string funname=xmldoc.SelectSingleNode(@"REQUEST/FUNCTION").Attributes["name"].Value.ToString();
root=root.ChildNodes[0];
string progid=root.FirstChild.InnerText.ToString();
Console.WriteLine(progid+funname);
return funname;
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
return "error";
}
}
}