Flash :: Connect To Socket Even Though Policy Allows It?
Dec 31, 2010
In my Flash app, I'm connecting to my server like this:
Security.loadPolicyFile("xmlsocket://example.com:12860");
socket = new Socket("example.com", 12869);
socket.writeByte(...);
socket.flush();
At port 12860 I'm running a socket policy server, which (according to this document) correctly serves up my policy like this:
[Code]...
I get no security warnings, which I used to get before the policy server was in place. Still, the connection to port 12869 doesn't work. It's made (I can see with Wireshark and on the server), but no data is sent by Flash. It might be worth knowing that the SWF itself is served from example.com as well.
View 1 Replies
Similar Posts:
Oct 9, 2009
So, this is a copy of another post I made, but I get a sneaking suspicion I put the post in the wrong forum:[URL]..The summary:
The Socket class in flash player sometimes, for some users (across all sorts of OS and Browsers) will not ask for the policy file from port 843 first, but instead will go straight to the port of the outgoing request, which in this case is our game server, who doesn't really understand the request.
In every case so far the user *is* using the latest version of flash too, so it's not an issue without outdated policy methods, which would have been my first guess.For most people it works just fine, but I posted a log in the thread for one of the non-working players. It's pretty mysterious, and I haven't found a fix yet... though I'm going to experiment with some work arounds.
View 5 Replies
May 30, 2010
Basically I'm using Flash to connect to a Java server.Despite my Java application replying to the <policy-file-request/>, in the Flash debug log it lists (not sure about the order as there are lots):
Security Sandbox Violation *
Connection to 192.168.1.86:4049 halted
Warning: Timeout on
[code].....
View 1 Replies
Jul 16, 2009
Has anyone been able to successfully implement a service to serve the required socket policy file to FlashPlayer?I am running the Python implementation of the service provided by Adobe at
[URL]
and using the following policy file:
<?xml version="1.0" encoding="UTF-8"?>
<cross-domain-policy>
<site-control permitted-cross-domain-policies="master-only"/>
<allow-access-from domain="*" to-ports="*" secure="false"/>
</cross-domain-policy>
[code]....
View 6 Replies
Nov 21, 2011
Last time I worked with flash sockets I knew that a policy file is required only if the swf file is embedded in a different domain from the one where the socket connection is about to be made. Did newer version of flash player changed this, so now they'll alk for a policy file no matter what?
View 1 Replies
Oct 8, 2011
I'm trying to connect an AIR application to socket.io, it's just not working.
[Code]...
View 1 Replies
Jan 6, 2011
I have 2 applications which I wrote in ActionScript 3.0 as client and C#.net as server. These are basic chat applications. Also I have a test website which is running under the same machine with chat server application.
Server application is listening 289 port, flash application connecting to server with domain and 289 port, it can talk with server during working on Flash. But when I put the flash in a html page, the socket connection is breaking after a while because of security reasons.
I know that is necessary to put a crossdomain.xml file on target website's root folder. The problem is here: Yes, there is a crossdomain.xml file like this:[URL]...
View 2 Replies
Jan 5, 2009
I'm trying to talk to a fully RESTful api of my own creation. The api is up and running but flash does not support PUT and DELETE, and does not recieve http status codes properly, plus a whole load of other issues with flashes anaemic http support.
To get around this I am trying to use as3httpclientlib. A 3rd party as3 http library, that uses socket connections to access the whole http protocol properly. It's a great library, unfortunately because it uses sockets flash requires implementation of the socket policy file, even though the access is all via port 80, the standard http port.
[URL]
This has given me a real headache. I can't implement the port 843 policy server as the documentation suggests because it's out of my ability level i feel. Also when the client is running it may be behind a corporate firewall that doesn't allow 843 access, so serving the policy file via the standard port seems the way forward. This is where I am stuck.
The policy file documentation says this shouldn't matter as if you cant access 843 because of your firewall you'll be unable to access non standard ports anyway, but I am accessing standard ports, only via sockets instead of URLLoader.
In the root of my server I have placed the following policy file:
Code:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
[code]....
View 2 Replies
Jan 15, 2009
I have created a socket server on port 6666 because port 843 is in use on my mac.So when flash player request "policy-file-request" I return to it the cross domain xml, but I keep getting the security error that "cannot load data from".[code]As you see I receive the cross domain from the socket server.But I don't understand why flash player doesn't accept that?xmlsocket.connect("localhost", "6666");Does anybody have any idea why it throws that error "cannot load data from" ?
View 0 Replies
Feb 10, 2009
for a long time I could easily make socket connections from my swf files tom simples java servers on various ports (swfs embeded from activex, for example). I used the simple python server policy file provided at this article to open the needed tcp ports to my flash applications.
[Code]...
View 3 Replies
May 17, 2010
I'm trying to evaluate whether Flex can access binary sockets. Seems that there's a class calles Socket (flex.net package). The requirement is that Flex will connect to a server serving binary data. It will then subscribe to data and receive the feed which it will interpret and display as a chart. I've never worked with Flex, my experience lies with Java, so everything is new to me. So I'm trying to quickly set something simple up. The Java server expects the following:
DataInputStream in = .....
byte cmd = in.readByte();
int size = in.readByte();
byte[] buf = new byte[size];
in.readFully(buf);
[Code] .....
After that - EOFException happens on the server and that's it. So the question is, am I approaching whole streaming data issue wrong when it comes to Flex? Am I sending the policy file wrong? Unfortunately, I can't seem to find a good solid example of how to do it. It seems to me that Flex can do binary Client-Server application, but I personally lack some basic knowledge when doing it. I'm using Flex 3.5 in IntelliJ IDEA IDE.
View 1 Replies
Sep 27, 2011
I have created a flex app that uses sockets. I published the flex app in a web application that runs on glassfish server. Now from that flex app i create a socket connection to a C# server and start sending/receiving data.The problem is that after i create the socket connection to C# server the flex app first checks the policy file, and after it get's it, it closes the socket, without keep the connection alive.[code] Now after i create the connection and it gets the policy from server it closes this socket, so to be able to use this connection i have to call again [code]After i do this, i can use normally the connection
View 1 Replies
Dec 8, 2009
Running my Flash app from localhost (in debug) I can connect/contact the socket server just fine. Note: It doesn't seem as though the server detects any 843 connection (e.g. the policy file port) this way. However, when I move the app to the server itself and run it from there (i.e. from the website), it will send the policy file, get a disconnect (as it should), and then try to execute the regular port stuff but doesn't read anything from Flash. It seems like my Flash app isn't writing to the port as it should, or something else is going wrong. I did also notice that Flash seems to be trying to send the policy-file-request twice.My process right now is like this:
1) Flash tries to connect to port 843. The server responds to its <policy-file-request/> with the policy file.
2) Flash reads it, disconnects from 843
3) Server gets graceful disconnect, then gets another connection on 843.
4) Just after that, the server gets a connection on 2188, but reads another <policy-file-request/>, so sends the policy file again.
5) At this point, Flash SHOULD simply write the string "Test" to the socket (that's in my connect handler). However, my server doesn't seem to read anything on the socket after the second <policy-file-request/>.[code]
View 1 Replies
Jan 15, 2009
I am attempting to setup a binary socket connection between flash running on my desktop and a Rabbit RCM3800 Microcontroller providing the server on my home network, which has no file system and has a very basic http server on it. Due to limitations of the microC I cannot run Java/Perl/Python or any other server on it other than setting up a server using its own native Dynamic C language (essentially manually opening and controlling sockets in C). I am able to successfully connect to a socket on port 3333 of the server and transfer information between the server and the .swf file when it is the sandbox type "local-trusted" (while I'm debugging in Flash).
Because of this I'm fairly certain the code to setup the socket between the server and flash works fine. My problem occurs when I try to run the .swf file as "local-with-network" (such as running it after publishing on my desktop) or "remote" (accessing the .swf file when it is located on the server) and it then requires a socket policy server to host a socket policy file on the server. On my server I have code setup such that whenever a socket opens on port 843 or port 3333 (my data port) and sends a stream of raw data containing the request <policy-file-request/>, the server writes back in ASCII the below code and closes the socket.
Code:
Select all<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "[URL]">
<cross-domain-policy>
<site-control permitted-cross-domain-policies="all"/>
<allow-access-from domain="*" to-ports="*" />
</cross-domain-policy>
[Code] .....
So for some reason flash times out while waiting for the socket policy file. I have tested sending the <policy-request-file/> over telnet, and have received the above policy file. I have also sniffed using wireshark and saw that my desktop sent the policy request and received the policy file. I am guessing that Flash times out because it is waiting for some kind of terminating character that states the end of the policy file, and to that end I have tried sending. Interestingly, instead of sending the policy file I have tried sending random data from the server to flash, and flash displayed the Warning: Ignoring policy file at (URL) due to incorrect syntax. Because I don't receive this warning when I send my policy file I don't think it is formatted incorrectly.
I have also tried using the below flash code to hold the socket request open indefinitely, but it also errors after 20seconds.
Code: Select allSecurity.loadPolicyFile("xmlsocket://192.168.1.59:843");
The .swf file will eventually reside on the server itself at 192.168.1.59/myProg.html. I have only tested the flash file remotely on the server a couple times, and in addition to the previous warnings/errors, I received the warning: SWF from (URL) may not connect to a socket in its own domain without a policy file.
View 1 Replies
Jul 16, 2009
Actionscript Socket Policy File Server Problems Has anyone been able to successfully implement a service to serve the required socket policy file to FlashPlayer?
[Code]...
View 1 Replies
Oct 8, 2011
i am receiving this error "ArgumentError: Error #1063: Argument count mismatch on flash.net::Socket/connect(). Expected 2, got 0.".
I have created a .net tcp server that sends 1 byte of data while reading a file, now the flash client connects but i get this error and i don't receive any data at all.
[Code]...
View 1 Replies
Jan 22, 2010
I'm trying to get my Flash application to connect via socket to my server, so I need to set up a socket policy file server. It seems like there are various roll-your-own implementations floating around out there, but is there any kind of standard or best practice with what to use?
As an aside, it seems strange that Adobe imposes this restriction but doesn't make something readily available to support it.
View 2 Replies
May 9, 2011
i'm trying to connect my flash application to my nodejs server running socket.io. To connect via web-browser is no problem. Now the problem, when the socket-server isn't running i get an IOError in Flash what seams alright. Now when i start the server and try to connect again, i don't get an error, but the socket-server doesn't receive a connection either?!
View 1 Replies
Oct 28, 2011
I'm working on a Flash/Facebook game. My swf and socket server are on different domains, so I have to use a socket policy file. According to Adobe, they have "filed with IANA, the Internet Assigned Numbers Authority, to reserve port 843 for the purposes of serving socket policy files." Unfortunately, my server has port 843 closed. I asked my server guy to open the port. Here's his reply:
[quote]One of the points Matt mentioned is even if we open that particular port how would you ensure the scores of people accessing this game from their schools, libraries or even people internal to OurCompany will have connectivity on the port. Let me explain, in order for traffic to flow on port 843 from the browser to the smart fox server, the users ISP also has to allow for that traffic to pass outbound from the users browser. It is possible that several users would not be able to run it, is that risk acceptable ?[/quote]
How common is it for ISPs to block port 843? I assumed that, since this is an Adobe standard, that ISPs would now have it open by default. What's the scoop?
View 2 Replies
Oct 21, 2010
Optivote IR8 is basically a voting system with a bunch of remote controllers, which can send IR signals to a receiver, which is connected to a computer through a USB port. And I'm trying to write my own little software for that with Flash.Optivote receiver communicates with software through a virtual serial port. When I connect to that port through PuTTY, I can see signals whenever I press any button on the remote controllers. Although, when I connect to that port through Serproxy (which relays a socket connection to a serial port connection), the remote controllers don't seem to work. I just get the same signal every half a second or so, over and over. I'm guessing the receiver is trying to make some kind of handshake this way.
The thing I can't figure out is what PuTTY does that Serproxy doesn't to make the serial port connection work. Maybe there's some proper way to tell the other end when I connect?(I use Serproxy, because Flash applications cannot connect to a serial port directly, but supports socket connections)
View 1 Replies
Dec 30, 2011
how to make a policy file for a socket server made on java with a client made on as2.
View 21 Replies
Dec 30, 2010
I have a Flex web app (compiled to regular SWF) that tries to connect to a (binary, not XML) socket on its own server. So if the swf is at [URL], the socket is [URL] This should be possible, AFAIK, but when I try to connect I get a security error saying that [URL] cannot access [URL]. Even though it shouldn't be needed, I also have a crossdomain.xml file containing
[Code]...
View 2 Replies
Mar 20, 2011
I'm trying to connect to a telnet server through a Socket.On that server, I setup a crossdomain.xml file:
<?xml version="1.0" ?>
<cross-domain-policy>
<allow-access-from domain="*" to-ports="23" />
</cross-domain-policy>
[Code]...
View 2 Replies
May 12, 2011
I read through the method to connect to a socket server : [URL]. I wrote an AIR application to connect to the java server code, but the client cannot connect. What is missing in the code?
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="[URL]"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" backgroundColor="#D5F8C3">
[Code] .....
View 1 Replies
Feb 24, 2009
I'm tring to write an instant messager implementation, but i got a problem with the initial socket connection.I need to send a GET request with some parameters to a server and it will reply with a seed number message server IP.
Code: Select allvar socket:Socket = new Socket("appmsg.gadu-gadu.pl", 80);
var response:String = new String;
var request:String = new String;[code]......
why the socket isn't sending any data after the connect,i also wrote a small pop3 client and it works fine.
View 1 Replies
Jun 9, 2011
I have an application that connects to a binary socket server running on port 2234. I use the python policy file server, which I downloaded from [URL], which runs on port 843. If the client app is trying to connect to a socket I can see that the server is receivng the request for a policy file and that it sends it to the client. However, in the client, I get a security sandbox error. How is this possible? And is it possible to check whether the client really received the policy file? BTW, here is my policy file:
<?xml version="1.0"?><!DOCTYPE cross-domain-policy SYSTEM "/xml/dtds/cross-domain-policy.dtd"><cross-domain-policy><allow-access-from domain="*" to-ports="*" /></cross-domain-policy>
View 3 Replies
Oct 18, 2009
I made sure the playback security was set to network only on the publish settings menu. I have another program that connects to the same server without a problem, so I don't think it's a cross-domain policy file problem.
[Code]...
View 1 Replies
Nov 2, 2006
is possible to connect to a mySQL database directly through the socket class?
View 1 Replies
Feb 16, 2011
I am building an AIR application where I receive UDP messages from Max/MSP using the Socket class. When testing in an internal loopback environment ( messages sent from 127.0.0.1 at port 7400 ) I can see the UDP messages being sent, as in: I can receive the messages I'm broadcasting in Max/MSP by listening to port 7400.However, the AIR app throws IO errors when trying to connect ( via the Socket class, using Socket.connect ) to aforementioned IP and port and I for the life of me can't find out why the app has no access to the internal loopback sending UTP ( if for instance, I start a Apache server at the same IP but at different port, the Socket class connects immediately to that IP - it won't receive data of course, but at least it can establish a connection )I am thinking the problem lies outside of the AS app and is an internal networking issue, I'd like to know if someone has experienced a similar error ( I'm on OS X, btw ) as I don't think it's a security sandbox error ( as the event isn't thrown, and the application type is trusted ).
View 1 Replies
Mar 1, 2012
Before I start I should state I have read it all, I was following this, this and this (and more...) and still I cannot connect to our running server via Socket over the internet.
Here is what I try to in AS3:
[Code]...
We can see from the log output of the server that this is really sent to the connecting socket. A null byte is of course sent after the xml data. And after that, the server closes the connection. However, it seems that Flash somehow does not like it, as "Error #2048" still appears after ~3 seconds.
View 1 Replies