本帖最后由 sybj1089 于 2010-11-26 19:53:53 编辑

解决方案 »

  1.   

    自己先顶一下~再贴上客户端的代码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);
                    }
                }
      

  2.   

    我这边有一个类似的例子,希望能帮到楼主:http://blog.csdn.net/kongdelu2008/archive/2010/08/29/5848212.aspx
      

  3.   

    有没有用streamread write的例子呢?send receive 来的数据好像是因为没消息边界,客户端处理了就出错
      

  4.   

    我有个问题,谁来帮下我啊未将对象引用设置到对象的实例。 
    说明: 执行当前 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 
      

  5.   

    服务端启动后,客户端连接服务端,不要断开连接。
    服务端记录所有客户端的连接,当需要发送数据的时候,
    直接从客户端列表中读取需要的客户socket连接,发送数据就可以了。