Jump to content
cearas

c - sehllscripting unix - chat

Recommended Posts

cearas

boas. sei que se queixam de muito  gente vir aqui pedir códigos e trabalhos pa se safarem noutro lado.

tenho um trabalho em shell script que basicamente me pedem para criar um genero de messenger, mirc, etc..

"O trabalho prático consiste na implementação de um sistema que permita a interacção

instantânea entre vários utilizadores de uma forma análoga ao  MSN Messenger,  Mirc, e

seus semelhantes. Ao contrário destes últimos, o sistema deste enunciado destina-se a ser

utilizado apenas por utilizadores na mesma máquina Unix e não envolve comunicação em

rede. "

o que queria era apenas uma breve explicação de por onde começar ou se alguém conhece algum site ou algo do género que me ajude na programação do programa.

cumprimentos

Share this post


Link to post
Share on other sites
KTachyon
% man write

NAME
     write -- send a message to another user

SYNOPSIS
     write user [ttyname]

DESCRIPTION
     The write utility allows you to communicate with other users, by copying
     lines from your terminal to theirs.

     When you run the write command, the user you are writing to gets a mes-
     sage of the form:

           Message from yourname@yourhost on yourtty at hh:mm ...

     Any further lines you enter will be copied to the specified user's termi-
     nal.  If the other user wants to reply, they must run write as well.

     When you are done, type an end-of-file or interrupt character.  The other
     user will see the message `EOF' indicating that the conversation is over.


“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Share this post


Link to post
Share on other sites
cearas

Mas é em C ou em Shell Script?

Se for em C podes dar uma vista de olhos aqui.

em c na linha de comandos do linux :cheesygrin:

Share this post


Link to post
Share on other sites
KTachyon

Podes utilizar o comando 'who' para descobrir quem se encontra "online", e o comando 'write' para escrever mensagens para a linha de comandos de um utilizador. Podes fazer um programa em C que pede para escolher um destinatário da lista que obténs com 'who', e uma mensagem, que é depois enviada com recurso ao comando 'write'.

Podes implementar o broadcast com múltiplas chamadas ao 'write', uma para cada utilizador.


“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Share this post


Link to post
Share on other sites
cearas

desde ja queria agradecer a ajuda que me deram, estou a trabalhar no programa ..

alguma duvida voltarei aqui caso me possam ajudar mais uma vez, cumprimentos :)

Share this post


Link to post
Share on other sites
cearas

caros amigos, afinal a solução nao está em usar sockets, o prof quer que seja utilizada memoria partilhada..

tenho uma duvida, e seguinte codigo dá me "segmentation fault", n consigo perceber o pq, alguma ajuda?

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <signal.h>

#include <unistd.h>

#include <fcntl.h>

#include <sys/types.h>

#include <sys/stat.h>


#include <sys/ipc.h>
#include <sys/shm.h>

int main(void){

int *num, shmid;

shmget(90000, 10*sizeof(int), IPC_CREAT | IPC_EXCL | 0700);
num = (int *) shmat(shmid, (void *) 0,0);

num[3] = 7;
sleep(4);

num[3] = 11;
sleep(4);

shmdt(num);
shmctl(shmid, IPC_RMID, (void *) 0);

exit(0);
}

cumps o/

Share this post


Link to post
Share on other sites
KTachyon

caros amigos, afinal a solução nao está em usar sockets, o prof quer que seja utilizada memoria partilhada..

Que não era para utilizar sockets já sabíamos. Indicaste isso no início do tópico.

tenho uma duvida, e seguinte codigo dá me "segmentation fault", n consigo perceber o pq, alguma ajuda?

Devias validar coisas como se os retornos das funções de memória partilhada não são -1.


“There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult.”

-- Tony Hoare

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.