短码吧 关注:14贴子:180
  • 3回复贴,共1
//服务端的socket编程
#include<stdio.h>
#include<winsock2.h>
#pragma comment(lib,"ws2_32")
int main(int argc,char* argv[])
{
char* sp="127.0.0.1";
int nSize=sizeof(SOCKADDR);
char recvBuf[100];
WSADATA wsaData;
//配置socket版本并初始化(释放ws2_32.dll动态链接库)
WSAStartup(MAKEWORD(2,2),&wsaData);
//创建服务器端套接字
SOCKET s=socket(PF_INET,SOCK_STREAM,IPPROTO_TCP);
//设定服务端地址(sockaddr_in类型,包含协议类型,网路地址,端口号)
sockaddr_in sockaddr;
// 设置通信协议类型
sockaddr.sin_family=PF_INET;
//设置IP
sockaddr.sin_addr.S_un.S_addr=inet_addr(sp);
// 设置端口
sockaddr.sin_port=htons(827);
//联绑
bind(s,(SOCKADDR*)&sockaddr,nSize);
//监听
listen(s,1);
printf("Listen...\n");
SOCKADDR clientAddr;
//创建服务端socket
SOCKET clientSock;
//接受
clientSock=accept(s,(SOCKADDR*)&clientAddr,&nSize);
//发送
send(clientSock,"Hello client \r\n",strlen("Hello client\r\n")+1,NULL);
//接受
recv(clientSock, recvBuf, 100, 0);
printf(recvBuf);
//关闭套接字
closesocket(clientSock);
closesocket(s);
//清除
WSACleanup();
getchar();
return 0;
}


IP属地:江苏1楼2014-04-16 17:51回复
    #include<stdio.h>
    #include<winsock2.h>
    #pragma comment(lib,"ws2_32")
    int main()
    {
    char *sms;
    char sms2[MAXBYTE]={0};
    WSADATA wsaData;
    WSAStartup(MAKEWORD(2,2),&wsaData);
    //创建服务器端套接字
    SOCKET s=socket(PF_INET,SOCK_STREAM,IPPROTO_TCP);
    sockaddr_in sockAddr;
    sockAddr.sin_family=PF_INET;
    sockAddr.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");
    sockAddr.sin_port=htons(827);
    //连接客户端
    connect(s,(SOCKADDR*)&sockAddr,sizeof(SOCKADDR));
    //接受
    recv(s,sms2, MAXBYTE,NULL);
    printf("Message=%s \r\n",sms2);
    //发送
    sms = "I am here!";
    send(s, sms, strlen(sms) + 1, 0);
    closesocket(s);
    WSACleanup();
    getchar();
    return 0;
    }


    IP属地:江苏2楼2014-04-16 17:51
    回复
      详细内容不久细解


      IP属地:江苏3楼2014-04-16 17:52
      回复
        其实就先建立个套接字,服务端联绑后监听该套接字,服务端连接该套接字,连接成功后建立套接字发送消息


        IP属地:江苏来自Android客户端4楼2014-04-19 11:48
        回复