Jump to content

Search the Community

Showing results for tags 'socket'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Web Development
    • HTML e CSS
    • Javascript
    • PHP
    • Ruby
    • Python
    • Java
    • .NET
    • Docker, Kubernets and other environments
    • WordPress
    • Mobile
    • Agile
    • Desenvolvimento de Games
    • Banco de Dados
    • Design and UX
    • Algoritmos & Outras Tecnologias
  • Entretenimento e uso pessoal
    • Segurança & Malwares
    • Geral
    • iMasters's pub

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Found 6 results

  1. bruno nozé

    mudar socket para udp

    bom dia, estou convertendo este socket de tcp para udp para receber dados de um rastreador, alterei para socket_dgram e também o socket recv para socket_recvfrom, mas não esta chegando nada alguem pode me ajudar? /** * Creates a server socket and listens for incoming client connections * @param string $address The address to listen on * @param int $port The port to listen on */ function server_loop($address, $port) { GLOBAL $fh; GLOBAL $__server_listening; printLog($fh, "server_looping..."); if(($sock = socket_create(AF_INET,SOCK_DGRAM,0))) { printLog($fh, "failed to create socket: ".socket_strerror($sock)); exit(); } if(($ret = socket_bind($sock, $address, $port)) < 0) { printLog($fh, "failed to bind socket: ".socket_strerror($ret)); exit(); } socket_set_nonblock($sock); printLog($fh, "waiting for clients to connect..."); while ($__server_listening) { $connection = @socket_recvfrom($sock); if ($connection === false) { usleep(100); } elseif ($connection > 0) { handle_client($sock, $connection); } else { printLog($fh, "error: ".socket_strerror($connection)); die; } } }
  2. Gilberto Jr

    CHAT SOCKET.IO NODE JS

    Boa noite. Eu fiz esse chat usando socket.io com NODE JS. Esta funcionando perfeito. Porem eu queria implementar duas coisas nele. Queria que quando chegasse uma mensagem, aparecesse uma notificação informando o nome da pessoa que enviou, e também parte da mensagem. E também, quando chegasse uma mensagem, mudar o TITTLE do HTML pra parte da mensagem. Mas isso deve acontecer, somente no browser das pessoas que receberem a mensagem. A pessoa que enviou, não deve receber a notificação e também o nem deve mudar o TITLE da pagina HTML. Abaixo segue o código do FRONT END. <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Chat Sistema Distribuido</title> <script src="jquery.min.js"></script> <script src="socket.io.js"></script> <link rel="stylesheet" href="style.css"> </head> <body> <form id="chat"> <input type="text" name="username" placeholder="Digite seu usuário"> <div class="messages"></div> <input type="text" name="message" placeholder="Digite sua mensagem"> <button type="submit">Enviar</button> </form> <script type="text/javascript"> var socket = io('http://localhost:3000'); function renderMessage(message){ $('.messages').append('<div class="message"><strong>'+ message.author +'</strong>:<br/>&nbsp&nbsp'+ message.message +'</div>') }; socket.on('previousMessages', function(messages){ for(message of messages){ renderMessage(message); }; }); socket.on('receivedMessage', function(message){ renderMessage(message); }); $('#chat').submit(function(event){ event.preventDefault(); var author = $('input[name=username]').val(); var message = $('input[name=message]').val(); if(author.length && message.length){ var messageObject = { author: author, message: message, }; renderMessage(messageObject); socket.emit('sendMessage', messageObject); } }); </script> </body> </html> Abaixo o código da pagina server.js const express = require('express'); const path = require('path'); const app = express(); const server = require('http').createServer(app); const io = require('socket.io')(server); app.use(express.static(path.join(__dirname, 'public'))); app.set('views', path.join(__dirname, 'public')); app.engine('html', require('ejs').renderFile); app.set('view engine', 'html'); app.use('/', (req, res) => { res.render('index.html'); }); let messages = []; io.on('connection', socket => { console.log(`Socket Conectado: ${socket.id}`); socket.emit('previousMessages', messages); socket.on('sendMessage', data =>{ messages.push(data); socket.broadcast.emit('receivedMessage', data); }); }); server.listen(3000); Se alguém puder me ajudar. Obrado Gilberto Jr
  3. Olá, eu tenho 2 servidores com IP diferentes e usuários distribuídos entre os dois eu gostaria de saber oque eu posso fazer para que o usuário que esta conectado no servidor 1 possa se comunicar com o usuário que está no servidor 2 sem usar MySql.
  4. Olá, bom dia, boa tarde ou boa noite, estou tendo um problema, com um sistema que estou criando, agradeço a quem puder ajudar. Então, esse sistema basicamente passa um "protocolo" para os servidor e ele retorna um objeto, e vice-versa, porém, ao finalizar o cliente e reabrir sem fazer o mesmo com o servidor, é causado um erro no servidor, e ao tentar fazer algum retorno de um objeto após re-abrir o cliente é causado um erro. Erro no server ao fechar o cliente: java.net.SocketException: Connection reset at java.net.SocketInputStream.read(SocketInputStream.java:210) at java.net.SocketInputStream.read(SocketInputStream.java:141) at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:284) at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:326) at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:178) at java.io.InputStreamReader.read(InputStreamReader.java:184) at java.io.BufferedReader.fill(BufferedReader.java:161) at java.io.BufferedReader.readLine(BufferedReader.java:324) at java.io.BufferedReader.readLine(BufferedReader.java:389) at main.java.Manager.run(Manager.java:45) Erro no cliente ao reabrir e tentar obter o objeto: java.io.StreamCorruptedException: invalid stream header: 73720013 at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:866) at java.io.ObjectInputStream.<init>(ObjectInputStream.java:358) at main.java.controllers.VendedoresUI.load(VendedoresUI.java:69) at main.java.controllers.VendedoresUI.initialize(VendedoresUI.java:54) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2548) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2441) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3214) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3175) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3148) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3124) at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:3104) at javafx.fxml.FXMLLoader.load(FXMLLoader.java:3097) at main.java.controllers.Controller.loadUI(Controller.java:150) at main.java.controllers.Controller.changeUI(Controller.java:111) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71) at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275) at javafx.fxml.FXMLLoader$MethodHandler.invoke(FXMLLoader.java:1769) at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(FXMLLoader.java:1657) at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(CompositeEventHandler.java:86) at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:238) at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(EventHandlerManager.java:191) at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(CompositeEventDispatcher.java:59) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:58) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(BasicEventDispatcher.java:56) at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(EventDispatchChainImpl.java:114) at com.sun.javafx.event.EventUtil.fireEventImpl(EventUtil.java:74) at com.sun.javafx.event.EventUtil.fireEvent(EventUtil.java:54) at javafx.event.Event.fireEvent(Event.java:198) at javafx.scene.Scene$ClickGenerator.postProcess(Scene.java:3470) at javafx.scene.Scene$ClickGenerator.access$8100(Scene.java:3398) at javafx.scene.Scene$MouseHandler.process(Scene.java:3766) at javafx.scene.Scene$MouseHandler.access$1500(Scene.java:3485) at javafx.scene.Scene.impl_processMouseEvent(Scene.java:1762) at javafx.scene.Scene$ScenePeerListener.mouseEvent(Scene.java:2494) at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:394) at com.sun.javafx.tk.quantum.GlassViewEventHandler$MouseEventNotification.run(GlassViewEventHandler.java:295) at java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.tk.quantum.GlassViewEventHandler.lambda$handleMouseEvent$353(GlassViewEventHandler.java:432) at com.sun.javafx.tk.quantum.QuantumToolkit.runWithoutRenderLock(QuantumToolkit.java:389) at com.sun.javafx.tk.quantum.GlassViewEventHandler.handleMouseEvent(GlassViewEventHandler.java:431) at com.sun.glass.ui.View.handleMouseEvent(View.java:555) at com.sun.glass.ui.View.notifyMouse(View.java:937) at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at com.sun.glass.ui.win.WinApplication.lambda$null$147(WinApplication.java:177) at java.lang.Thread.run(Thread.java:748) 1. Classes do server: 1.1. Server.java public class Server extends Thread{ public Server(){} public void run() { try{ ServerSocket listener = new ServerSocket(4444); listener.setSoTimeout(0); System.out.println("Server is now running"); try { while (true) { Socket socket = listener.accept(); new Manager(socket).start(); } } finally { listener.close(); } } catch (IOException ioexception){ System.out.println("\u001B[31mError opening server, more info: "); System.out.println(ioexception); System.out.println("Closing server..."); System.exit(0); } } } 1.2. Manager.java public class Manager extends Thread{ private Socket socket; private BufferedReader in; private PrintWriter out; public Manager(Socket socket){ this.socket = socket; System.out.println("\u001B[32m" + socket.getLocalAddress() + ":" + socket.getPort() + " connected"); } @Override public void run() { try { out = new PrintWriter(socket.getOutputStream(), true); out.println("Connected"); while(true) { ObjectOutputStream objectOutput = new ObjectOutputStream(socket.getOutputStream()); in = new BufferedReader(new InputStreamReader(socket.getInputStream())); if(in.readLine().contains(Protocols.VENDEDOR_GET_ALL)) { ResultSet res = SQLManager.Query("SELECT * FROM vendedores"); List<Vendedor> list = new ArrayList<>(); while (res.next()) { Vendedor vendedor = new Vendedor(); vendedor.setNOME(res.getString("NOME")); vendedor.setCPF(res.getString("CPF")); vendedor.setCONTATO(res.getString("CONTATO")); vendedor.setCONTA(res.getInt("CONTA")); vendedor.setBANCO(res.getInt("BANCO")); vendedor.setAGENCIA(res.getString("AGENCIA")); vendedor.setCORRENTE(res.getString("CORRENTE")); list.add(vendedor); } objectOutput.writeObject(list); } objectOutput.flush(); } } catch (IOException e) { System.out.println("\u001B[31m" + socket.getLocalAddress() + ":" + socket.getPort() + " disconnected"); e.printStackTrace(); interrupt(); } catch (SQLException | ClassNotFoundException e) { Logger.getLogger(Manager.class.getName()).log(Level.SEVERE, null, e); } } } 2. Classes do Client 2.1. ClientSocket.java public class ClientSocket { private static Socket socket = null; private static BufferedReader in; private static PrintWriter out; public static void load(){ try { socket = new Socket("127.0.0.1", 4444); in = new BufferedReader( new InputStreamReader(socket.getInputStream())); out = new PrintWriter(socket.getOutputStream(), true); System.out.print(ClientSocket.getIn().readLine()); } catch(IOException ioexception){ Logger.getLogger(ClientSocket.class.getName()).log(Level.SEVERE, null, ioexception); } } public static Socket getSocket() { return socket; } public static BufferedReader getIn() { return in; } public static PrintWriter getOut() { return out; } } 2.2 VendedoresUI.java public class VendedoresUI implements Initializable { @FXML private TableView<Vendedor> table; @FXML private TableColumn<?, ?> colName; @FXML private TableColumn<?, ?> colCPF; @FXML private TableColumn<?, ?> colContato; @FXML private TableColumn<?, ?> colConta; @FXML private TableColumn<?, ?> colBanco; @FXML private TableColumn<?, ?> colAgencia; @FXML private TableColumn<?, ?> colCorrente; ObservableList<Vendedor> list; @Override public void initialize(URL location, ResourceBundle resources) { load(); } private void load(){ try { if(ClientSocket.getSocket().isClosed()){ ClientSocket.load(); } PrintWriter escritor = new PrintWriter(ClientSocket.getSocket().getOutputStream(), true); escritor.println(Protocols.VENDEDOR_GET_ALL); ObjectInputStream obi = new ObjectInputStream(ClientSocket.getSocket().getInputStream()); List<Vendedor> mList = (List<Vendedor>) obi.readObject(); list = FXCollections.observableArrayList(mList); colName.setCellValueFactory(new PropertyValueFactory<>("NOME")); colCPF.setCellValueFactory(new PropertyValueFactory<>("CPF")); colContato.setCellValueFactory(new PropertyValueFactory<>("CONTATO")); colConta.setCellValueFactory(new PropertyValueFactory<>("CONTA")); colBanco.setCellValueFactory(new PropertyValueFactory<>("BANCO")); colAgencia.setCellValueFactory(new PropertyValueFactory<>("AGENCIA")); colCorrente.setCellValueFactory(new PropertyValueFactory<>("CORRENTE")); table.setItems(list); } catch (IOException | ClassNotFoundException e) { e.printStackTrace(); } } }
  5. Possuo uma MainFrame e uma classe Cliente e estou tentando fazer uma conexão servidor/cliente. Integrei o servidor dentro da MainFrame e gostaria de enviar mensagens para meu cliente, de forma que o cliente receba mensagens com valores dentro da mainFrame. Dentro da main eu abri a conexão Socket: ServerSocket server = new ServerSocket(3001); Socket s = server.accept(); System.out.println("Conectado!"); DataOutputStream dcs = new DataOutputStream(s.getOutputStream()); dcs.writeUTF("Bem vindo, você se conectou!"); E possuo a classe Leitor: public class Leitor extends SwingWorker<Void, Double> { Random rand = new Random(); @Override protected Void doInBackground() throws InterruptedException, IOException { while (!flag) { Double valor =(rand.nextDouble() * 100); publish(valor); if (valor > 90) { newlbl.setText ("A temperatura está alta!"); } else if (valor < 15) { newlbl.setText ("A temperatura está baixa!"); } if(valor >15 & valor <90) { newlbl.setText("Temperatura estável"); } Thread.sleep(7500); } return null; } Gostaria que em cada if dentro da void doInBackground eu pudesse enviar a mesma mensagem que eu estou setando(vai ficar se atualizando sempre, pois estou gerando valores aleatorios), usando o dcs.writeUTF(), porém preciso que a classe leitor possuo o Socket s, e o dataOutputStream dcs. Qual seria a solução? Essa é minha class Cliente.java: public static void main(String[] args) { try { Socket s = new Socket("127.0.0.1", 3001); DataInputStream dis = new DataInputStream(s.getInputStream()); String msg = dis.readUTF(); System.out.println(msg); }catch (Exception e){} }
  6. WBS DIGITAL

    Criar properties para chamar ip e porta

    Estou tentando chamar o ip e porta atraves de um arquivo properties num sisteminha de chat criado em java, mas não estou conseguindo fazer isso, segue o codigo. Servidor chat public static void main(String[] args) throws IOException{ wbsCliente = new Vector(); try { ServerSocket s = new ServerSocket(2222); while (true){ System.out.print("Aguardando usuarios..."); Socket wbsConexao = s.accept(); System.out.println("Conectado!"); Thread t = new WbsChatSocket (wbsConexao); t.start(); } } catch(IOException e) { System.out.println("IOException:" + e); } } Cliente Chat public static void main(String[] args){ try { Properties pos = new Properties(); //carregas as propriedades do arquivo de configuracoes pos.load( new FileInputStream("wbsDados.properties") ); //não sei como colocar e chamar os dados do properties neste socket abaixo Socket wbsConexao = new Socket("127.0.0.1", 2222); PrintStream saida = new PrintStream(wbsConexao.getOutputStream()); BufferedReader teclado = new BufferedReader(new InputStreamReader(System.in)); System.out.print("Entre com o seu nome: "); String wbsUsuario = teclado.readLine(); saida.println(wbsUsuario); Thread t = new wbsClienteSocket(wbsConexao); t.start(); String linha; while (true) { System.out.print("> "); linha = teclado.readLine(); // antes de enviar, verifica se a conexão não foi fechada if (done) {break;} // envia para o servidor saida.println(linha); } } catch (IOException e) { // Caso ocorra alguma excessão de E/S, mostre qual foi. System.out.println("IOException: " + e); } }
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.