刚开始接触   问个问题  
我有一个服务端和一个客户端   是不是每次客户端向服务端发送信息之前 都要连接一次SOCKET ?  
还有什么叫异步 什么叫同步?

解决方案 »

  1.   

    不用,长连接,练一次就够了,服务端保留这个客户端socket,下次直接访问就可以
      

  2.   

    tcp协议的话连接一下就可以,也就是三次握手成功就连接成功了。udp的话只要知道ip和端口,直接发数据,没有连接的过程。
      

  3.   

    保留就是服务器端监听到一个socket的连接了,那么在服务器的代码里用一个变量Socket m_socket=监听到的socket就行了,以后 m_socket就是那个连接,想发数据就是 m_socket。send(数据包)。
      

  4.   

    http://blog.csdn.net/fengyarongaa/article/category/833201
      

  5.   

    可以每次连接,也可以保持连接。
    struct addrinfo * pAddr
    s = socket(pAddr->ai_family,pAddr->ai_socktype,pAddr->ai_protocol);异步就是连接、发送、接收只是发出命令并不等待完成。
    而同步则刚好相反。
      

  6.   

    Socket常用的有TCP和UDP协议。
    TCP协议需要先建立Socket连接然后才能传递数据。
    UDP协议是无连接协议直接传递数据。以客户端为例:
    同步:假如你向服务端传送数据当你发送直到传送结束Send*方法才会,如果使用主线程界面就会假死。
    异步:你调用异步方法BeginSend*传递数据,该类方法要求提供AsyncCallback类型的委托会立即返回,传递结束后会调用该委托方法,在委托方法使用EndSend*中读取传递结果。