首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

SOCKET,客户端连接服务端后发送消息。解决方法

2013-11-30 
SOCKET,客户端连接服务端后发送消息。 开启了线程调用新类进行连接和接收。CClient MyClient new Client.C

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就是了

热点排行