VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 1524|回复: 4

[交流] TCP-----SOCKET编程(孙鑫的教程)

[复制链接]
79_avatar_middle
在线会员 发表于 2015-11-23 19:35:40 | 显示全部楼层 |阅读模式
一服务器端程序:
#include <winsock2.h>
#include <stdio.h>
void main()
{
//加载套接字
    WORD wVersionRequested;
   WSADATA wsaData;
   int err;
   wVersionRequested=MAKEWORD(1,1);//获得sokect版本号
   err=WSAStartup(wVersionRequested,&wsaData);//加载套接字库
   if (0!=err)
  {
     return;
   }
  if (LOBYTE(wsaData.wVersion)!=1||   //判断当前的socket版本号是否是1.1
      HIBYTE(wsaData.wVersion)!=1)
  {
      WSACleanup();
      return;
  }
  SOCKET sockSrv=socket(AF_INET,SOCK_STREAM,0);//创建用于监听的套接字

  SOCKADDR_IN addrSrv;
  addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
  addrSrv.sin_family=AF_INET;
  addrSrv.sin_port=htons(6000);
  
  bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));//绑定套接字
  listen(sockSrv,5);//把套接字设置为监听模式 并准备客户请求

  SOCKADDR_IN addrClient;
  int len=sizeof(SOCKADDR);

  while (1)
  {
     //等待客户请求的到来
      SOCKET sockConn=accept(sockSrv,(SOCKADDR*)&addrClient,&len);
      char sendBuf[100];
      sprintf(sendBuf,"welcome %s to http://www.sunxin.org",
      inet_ntoa(addrClient.sin_addr));
     //发送数据
     send(sockConn,sendBuf,strlen(sendBuf)+1,0);
     char recvBuf[100];
    //接收数据
     recv(sockConn,recvBuf,100,0);
     printf("%s/n",recvBuf);
    //关闭套接字
     closesocket(sockConn);
  }
}
二。客户端程序
#include "WINSOCK2.H"
#include "stdio.h"
void main()
{

WORD wVersionRequested;
WSADATA wsaData;
int err;

wVersionRequested=MAKEWORD(1,1);

err=WSAStartup(wVersionRequested,&wsaData);
if (err!=0)
{
  return;
}
if (LOBYTE(wsaData.wVersion)!=1||HIBYTE(wsaData.wVersion)!=1)
{
  WSACleanup();
  return;
}
SOCKET sockClient=socket(AF_INET,SOCK_STREAM,0);

SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");
addrSrv.sin_family=AF_INET;
addrSrv.sin_port=htons(6000);

connect(sockClient,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR));
char recvBuf[100];

recv(sockClient,recvBuf,100,0);

printf("%s/n",recvBuf);

send(sockClient,"123",strlen("123")+1,0);
closesocket(sockClient);
WSACleanup();

}
先运行服务器端,再运行客户端

评分

参与人数 2驿站币 +3 热心值 +3 收起 理由
01_avatar_small 天下第一 + 1 + 1 感谢分享!
88_avatar_small 寂寞江湖 + 2 + 2 感谢分享!

查看全部评分





上一篇:VC6.0 debug和release的区别及如何设置
下一篇:VC&amp;nbsp;获取静态文本控件和文本框控件上的文本方法
30_avatar_middle
online_vip 发表于 2015-11-23 20:19:33 | 显示全部楼层
看看到底是什么东西,居然还设置了回复可见
46_avatar_middle
在线会员 发表于 2016-2-25 20:35:11 | 显示全部楼层
TCP-----SOCKET编程(孙鑫的教程
60_avatar_middle
在线会员 发表于 2017-3-1 15:19:06 | 显示全部楼层
学习下·····················
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-6-26 11:01

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表