swing - java.net.SocketException: permission denied is arising -
i tried run code create gui using java swing library send message localhost server.the gui contains text field type message , button send server.server code contained in class.
when tried run code, socket exception shown in console as:
java.net.socketexception: permission denied: connect @ java.net.dualstackplainsocketimpl.connect0(native method) @ java.net.dualstackplainsocketimpl.socketconnect(dualstackplainsocketimpl.java:79) @ java.net.abstractplainsocketimpl.doconnect(abstractplainsocketimpl.java:345) @ java.net.abstractplainsocketimpl.connecttoaddress(abstractplainsocketimpl.java:206) @ java.net.abstractplainsocketimpl.connect(abstractplainsocketimpl.java:188)
please me connection server.
i enclosing codes both gui , server here.
class creating gui , establishing connection server:
package org.myorg; import javax.swing.*; import java.awt.borderlayout; import java.awt.event.*; import java.*io.ioexception; import java.io.printwriter; import java.net.*; import org.myorg.messageserver; public class sendmessage { printwriter writer; socket sock; jtextfield text; /*creates gui , adds sendbuttonlistener object button. calls setupnetworking() method*/ public void go(){ jframe frame=new jframe(); jpanel panel=new jpanel(); text=new jtextfield("message",15); jbutton button=new jbutton("send"); button.setsize(5,5); button.addactionlistener(new sendbuttonlistener()); panel.add(text); panel.add(button); frame.getcontentpane().add(borderlayout.center,panel); frame.setsize(300,200); frame.setvisible(true); setupnetworking(); } /*listens action event of clicking 'send' button. message text field written writer object sending server*/ class sendbuttonlistener implements actionlistener{ @override public void actionperformed(actionevent e) { // todo auto-generated method stub try{ writer.println(text.gettext()); writer.flush(); }catch(exception ex){ ex.printstacktrace(); } text.settext("message"); text.requestfocusinwindow(); } } /*establishes socket connection server. object of printwriter created*/ private void setupnetworking(){ try { sock=new socket("127.0.0.1",50000); writer=new printwriter(sock.getoutputstream()); } catch (unknownhostexception e) { // todo auto-generated catch block e.printstacktrace(); } catch (ioexception e) { // todo auto-generated catch block e.printstacktrace(); } } /*main method*/ public static void main(string[] args) { sendmessage sendmessage=new sendmessage(); messageserver server=new messageserver(); sendmessage.go(); server.go(); } }
server class
package org.myorg; import java.io.*; import java.net.*; public class messageserver { socket sock; /*accepts socket connection , calls read() method*/ public void go(){ try{ @suppresswarnings("resource") serversocket socket=new serversocket(50000); sock=socket.accept(); read(sock); }catch(ioexception e){ e.printstacktrace(); } } /*reads message using inputstreamreader*/ public void read(socket sock){ inputstreamreader stream; try { stream = new inputstreamreader(sock.getinputstream()); bufferedreader reader=new bufferedreader(stream); system.out.println(reader.readline()); } catch (ioexception e1) { // todo auto-generated catch block e1.printstacktrace(); } } }
at first, have run server,
public class messageserver { socket sock; /*accepts socket connection , calls read() method*/ public void go() { try { @suppresswarnings("resource") serversocket socket = new serversocket(50000); sock = socket.accept(); read(sock); } catch (ioexception e) { e.printstacktrace(); } } /*reads message using inputstreamreader*/ public void read(socket sock) { inputstreamreader stream; try { stream = new inputstreamreader(sock.getinputstream()); bufferedreader reader = new bufferedreader(stream); system.out.println(reader.readline()); } catch (ioexception e1) { // todo auto-generated catch block e1.printstacktrace(); } } public static void main(string[] args) { messageserver server = new messageserver(); server.go(); }}
then run client side "sendmessage.java"
public static void main(string[] args) throws ioexception { sendmessage sendmessage=new sendmessage(); // messageserver server=new messageserver(); sendmessage.go(); // server.go(); }
Comments
Post a Comment