当前位置:  技术问答>linux和unix

关于socket的一个问题?

    来源: 互联网  发布时间:2015-02-17

    本文导语:  //server.c typedef struct   { char name[20]; char national[40]; } STUDENT; main() { STUDENT jack =  { "willianmus Keve uu", "England china jpan frica europ", };     int sock_fd, new_fd;     usDataBytes = strlen(jack.name) + strlen(jack.national)...

//server.c

typedef struct  
{
char name[20];
char national[40];
} STUDENT;

main()
{

STUDENT jack = 
{
"willianmus Keve uu",
"England china jpan frica europ",
};

    int sock_fd, new_fd;
    usDataBytes = strlen(jack.name) + strlen(jack.national);
    .
    //建立socket过程略
    .
        
        if(!fork())
        {
            if(send(new_fd, &jack, usDataBytes, 0) == -1)
            {
                perror("send");
                close(new_fd);
                exit(0);
            }
    close(new_fd);
        }
    }
}


//client.c
typedef struct  
{
char name[20];
char national[40];
} STUDENT;

int main(int argc, char* argv[])
{

        //建立connect过程略
        bzero(&rcv_message, sizeof(rcv_message));
    
if( (numbytes = recv(sock_fd, &rcv_message, sizeof(rcv_message), 0)) == -1 )
{
perror("recv");
exit(1);
}

printf("Courrent Received %d Bytesn", numbytes);
//buf[numbytes] = 'n';

printf("Name is %sn", rcv_message.name);
printf("National is %sn", rcv_message.national);
close(sock_fd);
return 0;
}

客户端最后显示的结果是:
Current Received 50 Bytes
Name is willianmus Keve uu
National is England china jpan frica euro //这里缺少一个字母p

问:这个程序为什么会少输出一个字母

|
用SIZE去内存区大小吧.
不要用usDataBytes = strlen(jack.name) + strlen(jack.national);这么弱的语句

    
 
 

您可能感兴趣的文章:

  • linux socket问题。。怎样获得已帮定特定port的一个套接字socket
  • 关于socket概念的理解问题!
  • socket编程 中的bind问题
  • 你是否可以回答Socket的问题?数据先后问题
  • linux下socket编程问题! iis7站长之家
  • Socket的问题
  • socket accept问题,大家指教。
  • socket客户端程序的问题
  • 关于多网口socket通信的简单问题
  • fgets用在SOCKET流上的问题
  • linux socket fd 写阻塞问题
  • linux下用socket实现多进程间通信问题?
  • 请教:多线程使用同一个socket进行数据收发会出现什么问题?
  • sco unix下socket编程的问题,请大家帮忙
  • 请问socket方面的问题
  • socket编程中的问题,请各位大侠指教!
  • 急!!请教关于linux socket编程的一个问题!!
  • socket编程,使用recvfrom()函数监听问题。
  • linux下socket编程问题!
  • 请教两个小问题:一个cgywin下使用vi的问题,另一个socket的问题
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.net类socket的类成员方法: socket定义及介绍
  • re socket编程中 ACCEPT返回的socket与原socket(他参数中的)端口号一样吗?
  • java命名空间java.nio.channels类socketchannel的类成员方法: socket定义及介绍
  • libevent2需要从socket读一段数据写入一个socket中,同时发送给另一个socket
  • java命名空间java.nio.channels类serversocketchannel的类成员方法: socket定义及介绍
  • socket 通讯开发包 Simple Sockets
  • java命名空间java.nio.channels类datagramchannel的类成员方法: socket定义及介绍
  • C++ Socket 库 C++ Sockets
  • java命名空间java.net类socket的类成员方法: getsendbuffersize定义及介绍
  • vc做的的socket应用和unix下socket?
  • java命名空间java.net类socket的类成员方法: getreceivebuffersize定义及介绍
  • QSocketDevice ( int socket, Type type )中那个 int socket 是哪里来得?
  • java命名空间java.net类socket的类成员方法: gettrafficclass定义及介绍
  • socket编程 通过man socket, 没有找到socket函数的第一参数该填什么 怎样利用man手册
  • java命名空间java.net类socket的类成员方法: getport定义及介绍
  • 线程间可否通过管道传递SOCKET句柄?还有其他方式传递SOCKET么?
  • java命名空间java.net类socket的类成员方法: getlocalport定义及介绍
  • [FreeBSD] 大神,求解,control socket : can‘t to any socket
  • java命名空间java.net类socket的类成员方法: getinetaddress定义及介绍
  • 两个 Socket 互相通信,其中一个如何判断另一个 Socket 是否已经意外断开了连接?
  • java命名空间java.net类socket的类成员方法: isconnected定义及介绍
  • 大家帮忙推荐一本linux socket编程的入门书,我刚接触socket,谢谢!!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3