ActionScript 3.0 :: Socket Connection - Sending Data Without Any Errors?
Mar 18, 2009
I use a socket connection to share data between flash and VB. I check the connection in VB and send a message when my flash is connected. My VB tool then sends the data continuesly (about every 40 milliseconds or slower) to flash. Works fine. Now I have to send some data back from flash to VB. I can send the data without any errors in Flash but it never arrives in VB.
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.
ok so when i need to connect a swf to some sort of data source on the server be it XML, a .NET DLL, a CFC or what ever so that i can load data from a database or what ever, everyone is always saying that i shouldn't hard code the connection string into my actionscript as anyone can get it and do malicious things with it. So how should i load the connection string into flash. if i put them on the server in an XML file or somthing like that then i still need to put a connection string into the actionscript in order to load in my main connection strings into the actionscript.
Basically i need to know how to load an external string into a swf without anyone else being able to get hold of that string for them selves. i am developing an app for somone and i need it to connect to a database and i need it to be secure. i have everything sorted except making the connection string to the database unstealable.
I am able to establish socket connection to a remote machine by first loadind the policy file. But the same thing is not working if i am trying to connect to the same remote machine & 443 as port No. In policy file the connection is allowed to all ports.
Is there any thing else to be done. I am geting sandbox violation error.
I am using flash socket to connect to ftp and upload files. Its working fine in flash IDE but it give security error in browser. I have loaded policy file by ecurity.loadpolicyFile() also i have specified Security.allowDomain("*") but still it doesnt work. I have placed my crossdomain.xml at root level on ftp.My crossdomain.xml looks like this..
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"> <cross-domain-policy>
I'm writing a online application in flash and I'm trying to test the socket connection over a java server running on localhost. It works fine running in the CS3 environment using ctrl+enter and it's communicating with the server and sending information back and forth. But I can only test one client at a time like this. When I try to run the swf straight it isn't connecting. how to set up the permissions correctly so I can test locally?
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]...
There is a flash movie which is using flash.net.Socket to connect to a server. But there could be a situation when the server is not running, hence nothing is listening on the port socket is connecting to.
When I do "telnet hostname port" I get a fast connection refused error. But flash.net.Socket does not invoke any event (see below), but silently waits for socket timeout. For me it is important to reduce time needed to detect non-existing server as much as possible to be able to reconnect to another server in the cluster.
I've tried the following events, but to no avail:
close connect ioError securityError socketData
None of these is invoked in such situation.
Is there a way to detect that TCP connection has been refused using flash.net.Socket?
I would like Flash to reconnect to a socket if its connection is dropped. I am using the Socket class to establish a connection and then adding an Event.CLOSE listener to the socket. What is a good strategy to reconnect back to the socket if the connection has suddenly closed? Here is a the method I am calling inside the close handler. The connect() method establishes a new socket connection
HTML Code: private function handleOutage():void { // if socket is not connected
.to the letter after installing Apache and PHP on my pc. And i am geting really fraustrated because i cannot get the flash objects to connect to the PHP socket when they have been uploaded to the localhost server or any other online server. However it works no problem when i run the flash object straight from my HD. The socket is definately open because telnet connects to it fine.
My pc ip is 192.168.1.7. And when I transfer the flash object to any other pc on my lan, if it is on the hd, it connects to my pc no problem. However, if i were to type in http:[url]... it DOESN'T WORK.
I am using flash socket to connect to ftp and upload files. Its working fine in flash IDE but it give security error in browser. I have loaded policy file by Security.loadpolicyFile() also i have specified Security.allowDomain("*") but still it doesnt work. I have placed my crossdomain.xml at root level on ftp.
My crossdomain.xml looks like this..
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd"> <cross-domain-policy> <site-control permitted-cross-domain-policies="master-only"/>
I want to implement flex web application using Socket connection. But I am getting sand box violation error for remote sites in sample application . It is working fine in local.
Error:
Security Sandbox Violation Error: Request for resource at xmlsocket://170.21.8.0:4000 by requestor from http://localhost/Sample/DotNetSocketConnect.swf is denied due to lack of policy file permissions.
I am writing a peer-to-peer binary socket program. There are only two endpoints. One socket is listening on my laptop system. The other socket is broadcasting from my desktop system. I have a third program running on a hosted server, that is available to broker the connection between the two. My problem is that when the laptop and desktop are on the same network, they both have the same internet IP address but different intranet IPs, but when the laptop is on the road, then the IP addresses are different. In order to be truly peer-to-peer, I have to write it so that after the connection is established, that the two computers communicate directly between one another. How is this generally accomplished, when the two computers could potentially share the same IP address, if they are running on the same network?
I have a simple IRC socket that is used to communicate with servers for a web-based IRC client. Unfortunately, attempting to connect to a network results in a security error. I read up on sandboxes and their appropriate permissions, and then used Security.sandboxType to get the sandbox of my socket, which came up as remote. After reviewing the documentation, I still don't fully understand how I can enable my socket to connect to a remote IRC server. I tried Security.allowDomain,
I'm trying to send an image via a socket in as3 between two AIR applications that I made. It works fine with small images, but with the bigger ones, it gives me this error: "Error #2044: Unhandled IOErrorEvent:.text=Error #2124: Loaded file is an unknown type.". It repeats it several times, so I thought that the image might be cut to smaller ones, is that right? And if it is right, how to restore it??
I'm loading a small portion (rectangle), of a png file and extracting the ARGB (Alpha, Red, Green, Blue) values of the bitmapdata using C#. I then send this bytearray to the flash player (using sockets). The flash player receives this as a ByteArray. I then use LoadBytes but it gives me the error "unknown file type". I'm guessing that it could be because the data is not png encoded (I don't know how to do it), and loadBytes requires that.
I am trying to adapt an existing flash web chat application for the Android mobile phone and I am having this really annoying issue. The server is a custom based solution and can send back both binary messages or XML. So I can use either XMLSocket class or the Socket class to get data from the server. Everything works fine when deployed and I connect from the desktop but when I try it from the android mobile I get the infamous errors #2031, followed by #2048. Now the crossdomain.xml file is rock solid and works well for desktop. When the connect socket method runs I see that the server replies with the crossdomain file but I get the error when running on the mobile. Has anyone bumped into this? Is there some limitation from the mobile phone part. I wasn't able to find anything relevant for this issue, in terms of the phone not allowing Socket or SMLSocket connections
I am starting with a short introduction: I am currently working on a project, which involves a server application written in .NET (C#) and a flash gui app as client (standalone flash player 10 [code is written in Actionscript 3.0]). The server constantly sends bitmaps to the client (up to 30fps). The connection is established using binary sockets and data ist streamed to avoid socket open/close/reconnection problems.The bitmaps sent to the client are marked with begin- and end-tags. A length field was added as well, to optimise the following parsing process. The client buffers the received data up to the point where an end-tag is found. The client reassambles the bitmaps on the screen by parsing the current buffer. Parsing means looking for begin-tags and length fields and/or end-tags of pictures packages. The resulting bitmap data is copied into a byte array and will loaded into a movieclip using the flash.display.Loader class ( bytePictureLoader. loadBytes( byteArray ); ).[code]While testing, I found out that in some cases the data stream becomes currupted, i.e. data is lost and/or the transmittion is incomplete.
A good thing is that this error is reproducable.It seems that as soon as the Flash Application Window is dragged (moved on Windows Desktop) the stream lacks data. The same error occurs, if too much data is sent to the client. The results are performance problems, data loss and other strange effects. The more data is sent on the stream, the more data has to be parsed and the more data gets lost somehow. Sometimes this leads to a memory problem, because Begin- and End-Tags aren't transmitted correctly. In order to fix (counteract) that, I discard data as long as there is no Begin-tag found and the buffer is cleared when the size exceeds 1Mb.It works so far, but the application lacks performance and stability.I.e. If 20 bitmaps per second with 620x390px are sent to the client, the client only receives 16 to 17 bitmaps, if the application does nothing else.If 30 bitmaps per second with 620x390px are sent to the client, the client only receives about 20 to 21 bitmaps.I am guessing that using actuall video streams would be better, then sending one bitmap at a time in a byte stream.Is there a proper example on how to build a client app in flash to receive/parse a binary data stream?Does anyone else has recognized the lost-data problem or the interruption of streams?
I've read about WebSockets but they don't seem to be pure "sockets", because there is an application layer protocol over them. "ws:"Is there any way of doing a pure socket connection from a web browser, to enliven webpages?Here are my random stabs in the darkApplets sockets provided by Java (need java installed)Flash sockets provided by Flash (need flash installed)But about HTML5, Why are they called WebSockets if they aren't Sockets?
I'm having a problem that I'm not sure is necessarily tied to the Flash, but I don't know what the root of the problem is yet.I have a SWF that connects to a socket using the Socket class. This works fine.I'm also making (jQuery) $.getJSON() requests to load certain page data. This works fine.
However, when the Flash socket is connected the Ajax requests stop being sent. By this I mean that it seems that the HTTP requests being made are stored in a queue while the socket is connected. As soon as I disconnect from the socket the HTTP requests continues to load fine. The HTTP request never times out (as it's not even being sent to the server), but just hangs there waiting...until I close the socket connection.
I've verified both in the jQuery and Adobe docs that both the Ajax (JSONP) requests and the connections using the Socket class are asynchronous, so I'm really confused as to why the socket connection would block the HTTP requests.
I have designed with Adobe Flash Professional CS5 a .fla project that integrates a client - server connection. After publishing it, I have the following issue:- when running the generated .exe file for Windows, then the connection to the server works perfectly- but when I am running the published .html file, then nothing is sent to the server.
I have tried to change the Publish Settings. When setting the Local Playback Security in Flash menu to "Access network only" instead of "Access local files only" then the last packet that was send using the .exe file is resent once and that's all (the html client does not receive the response from the server and the next connection attemps generate data transfer). I guess I have to change some security settings somewhere but I didn't find which.
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)