Estou montando uma aplicação que requer a utilização de sockets.
Montei o socket server em Java. No caso do client eu estou pretendendo montar, na verdade, não em perl e sem em PerlScript (na web).
(espero que aqui seria a área correta para postar essa dúvida :blink: ).
Bom, o meu socket server está funcionanado corretamente e o socket client está enviando a informação de acordo com o esperado, porém, como eu estou dando os primeiros passos com programação Perl/PerlScript, não faço idéia de como pegar o retorno enviado pelo socket server :S.
Alguém saberia como fazê-lo?
Aqui está meu socket cliente (estou usando o IIS 6+ ActivePerl para rodá-lo numa aplicação em ASP e aparentemente está tudo certo).
Pergunta
felipe_azv
Olá pessoal.
Estou montando uma aplicação que requer a utilização de sockets.
Montei o socket server em Java. No caso do client eu estou pretendendo montar, na verdade, não em perl e sem em PerlScript (na web).
(espero que aqui seria a área correta para postar essa dúvida :blink: ).
Bom, o meu socket server está funcionanado corretamente e o socket client está enviando a informação de acordo com o esperado, porém, como eu estou dando os primeiros passos com programação Perl/PerlScript, não faço idéia de como pegar o retorno enviado pelo socket server :S.
Alguém saberia como fazê-lo?
Aqui está meu socket cliente (estou usando o IIS 6+ ActivePerl para rodá-lo numa aplicação em ASP e aparentemente está tudo certo).
# Client Program
use IO::Socket::INET;
# Create a new socket
$MySocket=new IO::Socket::INET->new(PeerPort=>7000,Proto=>'tcp',PeerAddr=>'192.168.0.178');
# Send messages
my $msg = "Mensagem do Client Socket para o Server Socket";
#my $returnmsg = AQUI PRECISO PEGAR O RETORNO DO SOCKET SERVER
if($msg ne '') {
if($MySocket->send($msg)) {
$Response->Write("retorno socket server");
}
}
caso queiram ver o código java o server socket:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class Servidor {
public static void main(String[] args) {
ServerSocket server_socket = null;
Socket client_socket = null;
//Declaro o leitor para a entrada e saida de dados
BufferedReader in = null;
PrintWriter out = null;
try {
//Cria o ServerSocket na porta 7000 se estiver disponível
server_socket = new ServerSocket(7000);
//Aguarda uma conexão na porta especificada e cria retorna o socket que irá comunicar com o cliente
client_socket = server_socket.accept();
//Cria um BufferedReader para o canal da stream de entrada de dados do socket client_socket
in = new BufferedReader(new InputStreamReader(client_socket.getInputStream()));
out = new PrintWriter(client_socket.getOutputStream(), true);
// >>Descomentar a linha abaixo para enviar para o client socket!
//out.println("Mensagem do Servidor para o Cliente");
//Aguarda por algum dado e imprime a linha recebida quando recebe
System.out.println(in.readLine());
//trata possíveis excessões de input/output. Note que as excessões são as mesmas utilizadas para as classes de java.io
} catch (IOException e) {
//Imprime uma notificação na saída padrão caso haja algo errado.
System.out.println("Algum problema ocorreu para criar ou receber o socket.");
} finally {
try {
//Encerro o socket de comunicação
client_socket.close();
//Encerro o ServerSocket
server_socket.close();
} catch (IOException e) {
}
}
}
}
Obrigado!
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.