小编taf*_*i87的帖子

传输端点未连接recv套接字

我做了一个简单的程序,将字符串从小写更改为大写,从大写更改为小写.服务器工作直到启动客户端,在客户端运行服务器发出此错误后:"recv server fallita:传输端点未连接"为什么?我认为那条流太快关闭了?下面有服务器代码:

#include <stdlib.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <ctype.h>
#include <sys/socket.h>
#include <string.h>
#include <netinet/in.h>
#define MAXLENGTH 80
#define SERVERPORT 1313


void minuscolatore (int in,int out){
    char inputline[MAXLENGTH];
    int len,i;
    while((len=recv(in,inputline,MAXLENGTH,0))>0){
        for(i=0;i<len;i++){
            inputline[i]=tolower(inputline[i]);
        }
        if (strcmp(inputline,"fine")==0){
            break;
        }
        send(out,inputline,len,0);
    }
}
void maiuscolatore(int in,int out){
    char inputline[MAXLENGTH];
    int len,i;
    while((len=recv(in,inputline,MAXLENGTH,0))>0){
        for(i=0;i<len;i++){
            inputline[i]=toupper(inputline[i]);
        }
        if (strcmp(inputline,"FINE")==0){
            break;
        }
        send(out,inputline,len,0);
    }
}
int main(){
    int sock,client_len,fd;
    char c;
    struct sockaddr_in client, server = {AF_INET,htons(SERVERPORT),INADDR_ANY};
    if((sock=socket(AF_INET,SOCK_STREAM,0))==-1){
        perror("Socket fallita");
        exit(1); …
Run Code Online (Sandbox Code Playgroud)

c unix sockets

10
推荐指数
1
解决办法
3万
查看次数

标签 统计

c ×1

sockets ×1

unix ×1