日期:2014-05-17  浏览次数:20827 次

SOCKET,客户端连接服务端后发送消息。
 开启了线程调用新类进行连接和接收。


      CClient MyClient = new Client.CClient();
  private void button1_Click(object sender, EventArgs e)
        {
            MyClient.StartThread();
        }


  
  那么发送消息该怎么发送? 还要调用新类中这个方法发送消息吗?
  这样重复连接操作是不是不太合适? 该怎么用已经连接过的SOCKET 直接发送?
  

        public void BeginSend()
        {
            IPEndPoint iep = new IPEndPoint("127.0.0.1", 8070);
           byte[] byteMessage =new byte[1024];
            Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            socket.Connect(iep);
            byteMessage = Encoding.Default.GetBytes("消息");
            socket.Send(byteMessage);
         }

------解决方案--------------------
BeginSend中不必每次都创建socket(除非你是短连接),可以将发送内容的代码提出来供调用
------解决方案--------------------
如果用长连接的话 先定义一个全局socket变量 把连接成功的socket对象赋值给全局socket保存下来 发送的时候就调用全局socket.Send就是了