c# 关于网络编程 本帖最后由 sybj1089 于 2010-11-26 19:53:53 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 自己先顶一下~再贴上客户端的代码serverIP = IPAddress.Parse(textBox1.Text); serverPort = int.Parse(textBox2.Text); c_socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//建立socket try // 连接服务器 { c_socket.Connect(serverIP, serverPort); } catch (Exception myexception) { MessageBox.Show(myexception.ToString()); textBox1.Text = ""; textBox2.Text = ""; } Thread th = new Thread(linktoserver); th.Start();private void linktoserver() { while (true) { try // 通信处理 { NetworkStream c_ns = new NetworkStream(c_socket); StreamReader c_sr = new StreamReader(c_ns); StreamWriter c_sw = new StreamWriter(c_ns); c_sw.WriteLine(UserInfo.UserName + "," + UserInfo.UserComputerName + "," + UserInfo.UserIP); c_sw.Flush(); DataClass.Servedatastring = c_sr.ReadLine(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } 我这边有一个类似的例子,希望能帮到楼主:http://blog.csdn.net/kongdelu2008/archive/2010/08/29/5848212.aspx 有没有用streamread write的例子呢?send receive 来的数据好像是因为没消息边界,客户端处理了就出错 我有个问题,谁来帮下我啊未将对象引用设置到对象的实例。 说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误: 行 94: public DataTable GetNewsList()行 95: {行 96: Database db = DatabaseFactory.CreateDatabase();行 97: string strSql = "select * from Shop_News";行 98: DbCommand cmd = db.GetSqlStringCommand(strSql); 源文件: E:\毕业设计\Shop.Bussiness\News.cs 行: 96 服务端启动后,客户端连接服务端,不要断开连接。服务端记录所有客户端的连接,当需要发送数据的时候,直接从客户端列表中读取需要的客户socket连接,发送数据就可以了。 Remoting怎么知道哪些客户端连到了服务器?怎么踢客户端? C#.net编写的一个登录界面的一段代码求解 WPF开发FPS游戏需要做好哪些方面? 为什么总提示【在关键字 'from' 附近有语法错误。】 关于C#数据库连接池 初级问题:c#类中~号是什么意思 如何在文本文件中删除符合条件的行? struct在 c#中如何定义 如何实现一个半透明按钮叠加在另外一个控件上,仍然有半透明效果? c#UI问题。。。。这种ui不知道有没有未来。 objectarx小程序,求高手过目 新手!高手救急!!!
serverPort = int.Parse(textBox2.Text);
c_socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//建立socket
try // 连接服务器
{
c_socket.Connect(serverIP, serverPort);
} catch (Exception myexception)
{
MessageBox.Show(myexception.ToString());
textBox1.Text = "";
textBox2.Text = "";
}
Thread th = new Thread(linktoserver);
th.Start();
private void linktoserver()
{
while (true)
{
try // 通信处理
{
NetworkStream c_ns = new NetworkStream(c_socket);
StreamReader c_sr = new StreamReader(c_ns);
StreamWriter c_sw = new StreamWriter(c_ns);
c_sw.WriteLine(UserInfo.UserName + "," + UserInfo.UserComputerName + "," + UserInfo.UserIP);
c_sw.Flush();
DataClass.Servedatastring = c_sr.ReadLine();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。源错误:
行 94: public DataTable GetNewsList()
行 95: {
行 96: Database db = DatabaseFactory.CreateDatabase();行 97: string strSql = "select * from Shop_News";
行 98: DbCommand cmd = db.GetSqlStringCommand(strSql);
源文件: E:\毕业设计\Shop.Bussiness\News.cs 行: 96
服务端记录所有客户端的连接,当需要发送数据的时候,
直接从客户端列表中读取需要的客户socket连接,发送数据就可以了。