20080715 c# socket delegate
http://www.yippeesoft.com
static int listenport = 8000;
Socket clientsocket;
TcpListener listener;
Thread clientservice=null;
private void StartListening()
&leftsign;
listener = new TcpListener(IPAddress.Parse("127.0.0.1"), listenport);
listener.Start();
while (true)
&leftsign;
try
&leftsign;
Socket s = listener.AcceptSocket();
clientsocket = s;
clientservice = new Thread(new ThreadStart(ServiceClient));
clientservice.Start();
//MessageBox.Show(clientservice.ToString());
&rightsign;
catch (Exception e)
&leftsign;
Console.WriteLine(e.ToString());
&rightsign;
&rightsign;
&rightsign;
private void ServiceClient()
&leftsign;
Socket client = clientsocket;
bool keepalive = true;
System.IO.BinaryReader reader = null;
reader = new System.IO.BinaryReader(new NetworkStream(client));
while (keepalive)
&leftsign;
//Byte[] buffer = new Byte[1024];
//client.Receive(buffer);
log("rec:" + BitConverter.ToString(dp.GetBytes()));
log("rec:" + dp.strData);
&rightsign;
&rightsign;
delegate int SetTextCallback(string text);
public int log(string s)
&leftsign;
if (this.txt.InvokeRequired)
&leftsign;
SetTextCallback d = new SetTextCallback(log);
this.Invoke(d, new object[] &leftsign; s &rightsign;);
&rightsign;
else
&leftsign;
txt.Text = DateTime.Now.ToString() + s + "\\r\\n" + txt.Text;
&rightsign;
return 0;
&rightsign;
Thread threadListen=null;
http://www.cnblogs.com/imissherso/archive/2007/01/28/632480.html
线程间操作无效: 从不是创建控件“…”的线程访问它。
http://zhidao.baidu.com/question/56199307.html
c#线程问题:线程间操作无效:从不是创建控件picMonster1的线程访问它InvalidOperationException异常
关于多线程处理–线程切换
http://blog.csdn.net/taoxming/archive/2006/10/11/1330530.aspx
http://hi.baidu.com/84547054/blog/item/dc0077261deeba128a82a1a7.html
Visual C#托管Socket的实现方法(转载)
http://hi.baidu.com/jobsmeng/blog/item/da52b9d9401f842910df9b33.html
C#多线程编程—一个简单的聊天程序(Server)
http://1985wanggang.blog.163.com/blog/static/7763833200781424410226/
unix-C#中间件的通信
http://blog.cnbb.com.cn/outcast/archive/2008/03/02/71524.html
C#中TcpListener类的使用(AcceptTcpClient()方法-MSDN)
http://barton131420.cnblogs.com/archive/2005/12/07/292176.html
细节决定成败:映射枚举
XmlNode node = objTmplt.Attributes["name"];
if (node != null)
styleName = node.Value;
or:
XmlNode node = objTmplt.Attributes["name"];
if (node != null && !string.IsNullOrEmpty(node.Value))
styleName = node.Value
http://www.codeproject.com/KB/cs/xmladapter.aspx
Quick Xml Read and Write Adapters for C#
也谈用反射实现Enum→String映射:一种重视性能的方法
http://www.cnblogs.com/smalldust/archive/2006/04/25/384657.html
http://www.codeproject.com/KB/dotnet/unhandledexceptions.aspx
历史博文
- 正则 MB_SUBSTR - 2010
- 20070627 uclinux make config 2.6 fail - 2008
- 0921 MFC JPG GIF 图像显示 OleLoadPicture - 2007
- 0113 subversion svn auth 安全认证 - 2006
- winxp 管理员密码恢复 SFC TIFF 映象 - 2005