当前位置: 技术问答>linux和unix
一个简单的echo程序的问题
来源: 互联网 发布时间:2015-12-18
本文导语: 程序为一个client和一个server, client从stdin读取字符后发送给server,并从server接收echo的字符; server读取client发来的字符,然后echo给client; 问题是: 先运行server后,再运行client,输入字符后,2个程序都没反映. 一定要ctr+c关掉client...
程序为一个client和一个server,
client从stdin读取字符后发送给server,并从server接收echo的字符;
server读取client发来的字符,然后echo给client;
问题是:
先运行server后,再运行client,输入字符后,2个程序都没反映.
一定要ctr+c关掉client后,重新运行client(server一直运行)就正常了.
高手看下.
code:
server:
#include
#include
#include
#include
#include
#include
#define MAXLINE 1000
void str_echo(int sockfd);
int main()
{
int listenfd,connfd,l;
pid_t childpid;
socklen_t clilen;
struct sockaddr_in cliaddr,servaddr;
if((listenfd = socket(AF_INET,SOCK_STREAM,0))
client从stdin读取字符后发送给server,并从server接收echo的字符;
server读取client发来的字符,然后echo给client;
问题是:
先运行server后,再运行client,输入字符后,2个程序都没反映.
一定要ctr+c关掉client后,重新运行client(server一直运行)就正常了.
高手看下.
code:
server:
#include
#include
#include
#include
#include
#include
#define MAXLINE 1000
void str_echo(int sockfd);
int main()
{
int listenfd,connfd,l;
pid_t childpid;
socklen_t clilen;
struct sockaddr_in cliaddr,servaddr;
if((listenfd = socket(AF_INET,SOCK_STREAM,0))