Programming :: Socket Programming While Displaying Received Message In File
May 11, 2011
i have problem in socket programming, while displaying received message in file,i got a problem... i cant able to write it in the file.... this is the code....
now my problem is run time error i can able to create file but i cant able to write file....log.txt contain nothing.... as here i have give sample code... dont say not initialising function and all.... i have initialised , please only see func1() - my problem is only not able to write msg which i got received from the client..
I am trying to create a socket server in user space and a client in kernel space and send big messages (a little over 64kbytes) between them.
I used an kernel socket programming examplefrom this link - url for the kernel client side.
When the client in kernel side sends out a 64k message, usually, the server side in the user space will get a big part of the message, but will stuck at waiting for the recv() to return to get the rest of it. So I am chopping the packets into small pieces, 1000 bytes each to send to the server. But only some times, the packets will all arrive at the server/receiver side, and the server and assemble the whole message. Many times, the server is stuck at waiting for the last a couple of byte from the sending side. From the sending side printk log, it has already sent every thing.
I am attaching some log here, and the code at the end. Can someone give me some idea on how to force the data to arrive at the receiver side? Maybe the kernel on the receiver side is holding part of the packet so the receiver program in the user space is blocked at recv()? I tried adding TCP_NODELAY on sockets on both sender and receiver sides, both it did not help.
I got a connection from (10.16.216.217 , 1489) - Server side stuck on recv()- bytes_recieved 17384 bytes_recieved 32768, total received 50152, expected 65540 - Client side is already done - code....
iam just trying to connect to server which accepts one client and server will read(blocking operation) infinitely, but After closing the client socket the server "read operation" is returning zero and "errno variable(in errno.h)" value is also zero. how can i detect whether a client socket is closed/active..?
I am currently doing a research on video transmission over wireless LAN. I tend to transmit my offline file (xx.svc) from server to client.It may sound stupid (since I have a very little knowledge about c programming and raw socket), but my biggest challenges is that when I want to write the file to the buffer, how actually to define/include the file at the programming coding? where I need to locate the file? Is it at the same folder with my c programming, or somewhere in the linuxinclude folder?
Can anyone just give a simple example on how to include a file and write it into a buffer before send it through raw socket.
I have a server listening on incoming client connections. Once the client establishes SSL connection with the server, the server waits on read() from the client. Only Client can disconnect the connection. I want to have a timer in the server program to wait for x secs after read() and then disconnect the Client connection.
i have a server program which accept multiple client connection and am using polling. like every 2 secs it will look to client whether any data is received after it binded. i have used setitimer but there is runtime error i got.. the server accept all client connection but doesn't execute any msg which client sent.
the above code works fine.if we copmile and run ./a.exe 192.xx.xx.xxx 1111 and press enter it works fine..everytime it asks "Please enter the message: " and if give that will be displayed in server. but my problem is i dont want to print everytime "Please enter the message: " i just want to feed some words one by one to the socket.
im getting that error in my code for some reason. I compiled my code, and when i try to run this server it throws me an error on my call to setsocketopt(). The only way it can reach that part of my loop is if it succeeds when it calls sock() so I dont understand why the error says its an operation on a non-socket. Im just trying to set up a server to pass messages from a client to it a viceversa. Here is the code:
Code: int main() { int socket_fd, new_socket_fd, k; struct addrinfo hints, *server_info, *p; struct sockaddr_storage peer_address; code....
When sending data over the socket, the sending socket includes 0x00 after each sent byte. I wonder how this can be avoided -- I just want to transfer the data in the tx_buffer as it is.
# ./serv & [1] 6895 # ./EUG 127.0.0.1 EUG: Data to be transmitted: 0x35 0x32 0x30 0xff 0x03 0x31 EUG: Data - #Bytes transmitted: 6 ./serv: Here is the message: '5'
Is it possible to swap a client ip and port ? This is what I am trying to do. Let say you have Comp1 and Comp2 And you have Server between them. My goal is to get Comp1 and Comp2 know each others IP So Comp1 connects to server And server stores comp1's IP In a text file or other place And Comp2 connect to server And server also stores his info And then both comp1 and comp2 dowload the tex file And use the info on it.
How can we build a packet using C?we have a structure called sockaddr_in which is use to for IPv4,so that we can define address,port and etc in this way:
This is my main question:Quote: In raw socket sniffing: how do I copy data from a structure into a char[] or pointer? My problem: I started doing some raw socket programming in OpenWRT (I'm a newbie) for research. It's been a long time since the last time I programmed in C, so here's my newbie question/problem.
I'm receiving packets and using an .h file with the structures to get the information of each 802.11 packet in monitor mode (attached to this post).My (simple) goal is to get the Tx MAC Address. No luck. This is my "read the prism header" function:
I am looking to be able to connect to an IRC server in a C program. I have followed some instructions from an old book I have however it doesn't seem to be working. I've tried connecting to localhost on my ssh port and it still doesn't want to work. This is what I have so far as a piece of skeleton test code:
I have currently had the need to go back to basic socket programming, and implemented a simple udp packet sender. But I realized I needed to be able to select which network interface to send the packets from.
The reason is so that one of the interfaces has vlan tagging, and I need my UDP packets to be accordingly vlan tagged. For example, one of the interfaces is eth1.200.
like my alias a retired person, and Its never to late to learn something½ve just installed Ubuntu and found a tutorial online about bash-script.Manage some, but I cant to this one:[Write a script that makes file executable and writes a message that it has been done.If I run the command > <scriptName> <fileName> , then the file fileName should be executable and then it should indicate that fileName have been executable.]
Ive read man pages up-n-down and search the web, and I think I should let the script use chmod and ls -l, but I cant get the hole picture here. Actually I have nothing to show up, so I hope someone could help me with some ideas or a soloution - just to the how it should look.This is my first post, ever, at a forum like this, so please be nice if I didnt follow any rules here, I dont know if you even will answer this post, but at least give me some clues, a skeleton-code ti be based on
I was wondering if you could recommend a simple way to achieve functionality where received email messages are automatically processed and used in SQL commands (depending on certain criteria, of course). For example, say I have made a PHP-based blog application and it's located at example.com and I'd like to give members the option of posting to their blogs by sending email to a special @example.com address. The email messages received there will be inserted into a database depending on the sender's address, with the body becoming the post and the subject line becoming the post's title, etc.
Another example could be how those trouble ticket systems let customers submit tickets via email, while the support agents operate via a database-driven Web application. Is this the type of thing one must code from scratch, or is there an open source solution out there which only needs to be configured accordingly?
i am having a small problem in extracting out the information from the database. For example, if i were to input a book titled rina into my search , i would only want it to display the row which has the title rina, like this
Code:
rina:fatin:20:20:20
but when i use a coding like this :
Code:
grep -i "$Title" fruit| awk -F":" '{ print $0}'`
its displays both titles and their information
Code:
rina lives:fatin:20:20:20 rina:fatin:20:20:20
for some reason, it will read both rows as both contains the word "rina".
So, DnD is cool - and in Java, it works. Just set the component where the drag starts to allow that:
Quote: tblMain.setDragEnabled(true);
and - yes - the rest pretty much runs itself. I have a JTextField that happily takes the drop from the JTable (be it the whole row - I'm not there yet, still working on that)...but does not raise any events. I'd like the JTextField to raise an event:
- cleaning up the received data, now it gets the raw stuff, and I need an ID from that string - starting up another void() with the received ID
I read the tutorials but - for blisters - cannot see the "light", please shed some (light, that is)
I'm working on an application that makes http requests using HttpRequest and it's been doing what I need so far without a problem. Now I need to make https requests as well and when I try to make the request, i get this error message:
Code: Fatal error: Uncaught exception 'HttpInvalidParamException' with message 'Empty or too short HTTP message: ''' in /home/antoranz/waneesia/html/index.php:0 inner exception 'HttpRequestException' with message 'SSL connect error; gnutls_handshake() failed: A TLS packet with unexpected length was received. (https://www.paypal.com/)' in /home/antoranz/waneesia/html/index.php:104 Stack trace: #0 /home/antoranz/waneesia/html/index.php(0): HttpRequest->send() #1 {main} thrown in /home/antoranz/waneesia/html/index.php on line 0 What's going on?
I tried using cut command but it also gives me the same problem. If i do not assign it to a variable, how am i able to format it to display it in the correct format?
I wrote a java program that writes strings to a file. The strings contain foreign language characters. When I run the program in Windows, the output file shows the foreign characters. However, when I attempt the same operation in Linux, the output file shows a white question mark in a black background instead of the foreign characters. The same Linux system could display the foreign characters if I copy the output file from Windows to Linux. I tried to create the output file using gedit that my program would then add additional strings to and chose Unicode-32 for encoding but still the same problem.
What could I do to get the program to display the foreign language characters from output text file?
Is there any way to find what is displaying in a terminal in C language?
I want to automate ssh login process, I know that I can use "expect" but I want to write another program in C myself.
In first ssh try to a host, ssh prints a message like this:
Quote:
The authenticity of host '192.168.30.1 (192.168.30.1)' can't be established. RSA key fingerprint is **** Are you sure you want to continue connecting (yes/no)?
and waits for an answer. I want to enter "yes" programatically when the message appears, but I don't know how to find if the message is appeared or not. In this case problem can be solved in another way, deleting the entry of the host from ~/.ssh/known_hosts before executing the ssh command, sleeping for one or two second and entering yes. Same problem exist for password prompt and this can be solved by sleeping, too.
But it is not a general solution and can be failed if prompts appear after entering required keys.
But want to gerp / cut it in such a way that it only displays
Code:
Now the thing is that these 3 lines are not static.. there can be N number of lines there.. the only thing is that I want the command / output NOT to display the first line but the rest of the n lines ..
Has anyone had an issue with gdb not being able to send a UDP msg across a socket?
I have ComponentA sending a msg to ComponentB utilizing gdb. ComponentB gets the msg. ComponentB sends a msg to ComponentC. ComponentC does stuff to the msg and sends a msg back to ComponentB using gdb. ComponentB never seems to receive the 2nd message.
If I don't use gdb the messages Tx and Rx without an issue.
I'm flying blind without gdb to figure out a different bug.
How does bind system call names a socket.Code:bind(server_sockfd, (struct sockaddr *)&server_address, server_len);I see use of bind in majority of programms as above.But any of the arguments is not the name of socket.