| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 535 人关注过本帖
标题:各位走过路过的大哥大姐帮忙看看代码
只看楼主 加入收藏
a8021
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-3-23
结帖率:80%
收藏
已结贴  问题点数:10 回复次数:5 
各位走过路过的大哥大姐帮忙看看代码
服务端收发不了数据程序编译可以通过感激不尽。
服务端
#include"stdafx.h"
#include<winsock2.h>
#include<windows.h>
#include<memory.h>
int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
     
    int sockfd;
    int hhh;
    char H[200]="aaaAAAA";
    SOCKET sockhh;
    char buf[200];
    WSADATA wsa={0};
    WSAStartup(MAKEWORD(2,2),&wsa);
    sockfd=socket(AF_INET,SOCK_STREAM,0);
    struct sockaddr_in my_addr;
    struct sockaddr_in remote_addr;
    my_addr.sin_family=AF_INET;
    my_addr.sin_port=1259;
    my_addr.sin_addr.s_addr = INADDR_ANY;
    memset(my_addr.sin_zero,0,8);
    if(bind(sockfd,(LPSOCKADDR)&my_addr,sizeof(my_addr)) == SOCKET_ERROR)
        MessageBox(NULL,"jjj",TEXT("返回消息"),MB_OK);
    if(listen(sockfd,5) == SOCKET_ERROR)
        MessageBox(NULL,"ddd",TEXT("返回消息"),MB_OK);
    int addrlen = sizeof(remote_addr);
    while(1)
    {
    sockhh=accept(sockfd,(sockaddr*)&remote_addr,&addrlen);
    if(sockhh==INVALID_SOCKET)
        MessageBox(NULL,"kkk",TEXT("返回消息"),MB_OK);
    //ZeroMemory(buf,sizeof(buf)/sizeof(TCHAR));
    //ZeroMemory(H,sizeof(H)/sizeof(TCHAR));
    recv(sockhh,buf,sizeof(buf),0);
    MessageBox(NULL,buf,TEXT("返回消息"),MB_OK);
    send(sockhh,H,sizeof(H),0);
    }
    closesocket(sockfd);
    WSACleanup();
    return 0;
}
客户端
#include "stdafx.h"
#include<winsock2.h>
#include <windows.h>
int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
     SOCKET sockfd;
    WSADATA wsa={0};
    WSAStartup(MAKEWORD(2,2),&wsa);
    sockfd=socket(AF_INET,SOCK_STREAM,0);
    struct sockaddr_in serv_addr;
    struct hostent *host;
    serv_addr.sin_family=AF_INET;
    serv_addr.sin_port=htons(1259);
    serv_addr.sin_addr.s_addr = inet_addr("127.0.0.1");
    //serv_addr.sin_zero=8;
    connect(sockfd,(struct sockaddr *) &serv_addr,sizeof(struct sockaddr));
    TCHAR H[200];
    int i=0;
    TCHAR buf[]="woaini\0";
    ZeroMemory(H,sizeof(H)/sizeof(TCHAR));
    recv(sockfd,H,sizeof(H),0);
    send(sockfd,buf,sizeof(buf)/sizeof(TCHAR),0);
    MessageBox(NULL,H,TEXT("返回消息"),MB_OK);
    closesocket(sockfd);
    WSACleanup();
    return 0;
}
代码写得很烂望包涵。
搜索更多相关主题的帖子: include 服务端 大哥 
2013-07-17 00:28
love云彩
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:青藏高原
等 级:贵宾
威 望:53
帖 子:3663
专家分:11416
注 册:2012-11-17
收藏
得分:5 
看了一眼,没有注释,看不下去

思考赐予新生,时间在于定义
2013-07-17 04:17
a8021
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-3-23
收藏
得分:0 
对不起忘了上注释了求大家帮忙看看啊客户端可以连接其他服务器本服务器收发不了数据
----------------------------------------------------------------------------
服务端
----------------------------------------------------------------------------
#include"stdafx.h"
#include<winsock2.h>
#include<windows.h>
#include<memory.h>
int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
     
    SOCKET sockfd;//描述符
    char H[200]="aaaAAAA";//发送缓冲区
    SOCKET sockhh;//描述符
    char buf[200];//接收缓冲区
    WSADATA wsa={0};
    WSAStartup(MAKEWORD(2,2),&wsa);//加载winsock库
    sockfd=socket(AF_INET,SOCK_STREAM,0);//创建套接字
    struct sockaddr_in my_addr;//本机地址信息
    struct sockaddr_in remote_addr;//客户端地址信息
    my_addr.sin_family=AF_INET;//socket中装入地址信息
    my_addr.sin_port=1259;
    my_addr.sin_addr.s_addr = INADDR_ANY;
    memset(my_addr.sin_zero,0,8);
    if(bind(sockfd,(LPSOCKADDR)&my_addr,sizeof(my_addr)) == SOCKET_ERROR)//绑定   
        MessageBox(NULL,"jjj",TEXT("返回消息"),MB_OK);
    if(listen(sockfd,5) == SOCKET_ERROR)//进入侦听状态
        MessageBox(NULL,"ddd",TEXT("返回消息"),MB_OK);
    int addrlen = sizeof(remote_addr);
    while(1)
    {
    sockhh=accept(sockfd,(sockaddr*)&remote_addr,&addrlen);//连接请求
    if(sockhh==INVALID_SOCKET)
        MessageBox(NULL,"kkk",TEXT("返回消息"),MB_OK);
    //ZeroMemory(buf,sizeof(buf)/sizeof(TCHAR));
    //ZeroMemory(H,sizeof(H)/sizeof(TCHAR));
    recv(sockhh,buf,sizeof(buf),0);//接收数据
    MessageBox(NULL,buf,TEXT("返回消息"),MB_OK);
    send(sockhh,H,sizeof(H),0);//发送数据
    }
    closesocket(sockfd);//关闭套接字
    WSACleanup();//清理套接字占用的资源
    return 0;
}
客户端
----------------------------------------------------------------------
#include "stdafx.h"
#include<winsock2.h>
#include <windows.h>
int APIENTRY WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPSTR     lpCmdLine,
                     int       nCmdShow)
{
     SOCKET sockfd;//描述符
    TCHAR buf[200];////接收缓冲区
    TCHAR H[]="woaini\0";//发送缓冲区
    WSADATA wsa={0};//加载winsock库
    WSAStartup(MAKEWORD(2,2),&wsa);
    sockfd=socket(AF_INET,SOCK_STREAM,0);//创建套接字
    struct sockaddr_in serv_addr;//服务端地址信息
    serv_addr.sin_family=AF_INET;
    serv_addr.sin_port=htons(1259);
    serv_addr.sin_addr.s_addr = inet_addr("127.0.0.1");
    //serv_addr.sin_zero=8;
    connect(sockfd,(struct sockaddr *) &serv_addr,sizeof(struct sockaddr));//连接
    ZeroMemory(H,sizeof(H)/sizeof(TCHAR));
    recv(sockfd,buf,sizeof(H),0);//接收数据
    send(sockfd,H,sizeof(buf)/sizeof(TCHAR),0);//发送数据
    MessageBox(NULL,H,TEXT("返回消息"),MB_OK);
    closesocket(sockfd);//关闭套接字
    WSACleanup();//清理套接字占用的资源
    return 0;
}
2013-07-17 10:49
a8021
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-3-23
收藏
得分:0 
实在搞不明白要不就不上来麻烦大家了求帮忙看看啊。
2013-07-17 10:53
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:5 
看到 TCHAR H[]="woaini\0"; 这种代码就倒胃口
要么 char H[] = "woaini\0"
要么 wchar_t H[] = L"woaini\0"
要么 TCHAR H[] = TEXT("woaini\0")
算了,我懒得说了

服务端 my_addr.sin_port=1259;
客户端 my_addr.sin_port=htons(1259);
你代码是抄来的呀?

服务端:先接受对方发来的数据,再发送
客户端:也是先接受对方发来的数据,再发送
你觉得这个交互流程通顺吗?
2013-07-17 11:20
a8021
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-3-23
收藏
得分:0 
谢谢上面这位兄弟了。
2013-07-17 16:13
快速回复:各位走过路过的大哥大姐帮忙看看代码
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.077466 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved