The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Проблема с socket`ом (EPOLL, nonblocking)"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Сеть, сокеты)
Изначальное сообщение [ Отслеживать ]

"Проблема с socket`ом (EPOLL, nonblocking)"  +/
Сообщение от ZioN email on 20-Апр-10, 18:26 
Есть сервер, писал его для flash сокетов, работает все нормально, но через некоторое время происходит что-то (мне) непонятное...

Соединение с сервером происходит, получение данных по сокету происходит (судя по strace`у) да и ответ видимо есть, т.к. есть это в strace, но до сокета клиента, от сервера данные не доходят... Не могу понят в чем дело, потом при новом подключении в recv по strace`у приходят предыдущие данные, хотя я ничего в сокет не отправлял, а данные там взялись откуда-то. Небольшой кусок лога:

epoll_wait(5, {{EPOLLIN, {u32=3, u64=3}}}, 150, -1) = 1
accept(3, {sa_family=AF_INET, sin_port=htons(62189), sin_addr=inet_addr("178.95.188.112")}, [16]) = 7
fcntl64(7, F_GETFL)                     = 0x2 (flags O_RDWR)
fcntl64(7, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
epoll_ctl(5, EPOLL_CTL_ADD, 7, {EPOLLIN|EPOLLET, {u32=7, u64=7}}) = 0
epoll_wait(5, {{EPOLLIN, {u32=7, u64=7}}}, 150, -1) = 1
recv(7, "<policy-file-request/>\0", 2500, 0) = 23
send(7, "<?xml version=\"1.0\" encoding=\"UT"..., 350, 0) = 350
epoll_ctl(5, EPOLL_CTL_MOD, 7, {EPOLLOUT|EPOLLET, {u32=7, u64=7}}) = 0
epoll_wait(5, {{EPOLLOUT, {u32=7, u64=7}}}, 150, -1) = 1
epoll_ctl(5, EPOLL_CTL_DEL, 7, {EPOLLOUT|EPOLLET, {u32=7, u64=7}}) = 0
close(7)                                = 0
epoll_wait(5,

А вот здесь просто соединяясь к серверу, ничего ему не отправлял:

epoll_wait(5, {{EPOLLIN, {u32=3, u64=3}}}, 150, -1) = 1
accept(3, {sa_family=AF_INET, sin_port=htons(62229), sin_addr=inet_addr("178.95.188.112")}, [16]) = 7
fcntl64(7, F_GETFL)                     = 0x2 (flags O_RDWR)
fcntl64(7, F_SETFL, O_RDWR|O_NONBLOCK)  = 0
epoll_ctl(5, EPOLL_CTL_ADD, 7, {EPOLLIN|EPOLLET, {u32=7, u64=7}}) = 0
epoll_wait(5, {{EPOLLIN, {u32=7, u64=7}}}, 150, -1) = 1
recv(7, "<policy-file-request/>\0", 2500, 0) = 23
send(7, "<?xml version=\"1.0\" encoding=\"UT"..., 350, 0) = 350
epoll_ctl(5, EPOLL_CTL_MOD, 7, {EPOLLOUT|EPOLLET, {u32=7, u64=7}}) = 0
epoll_wait(5, {{EPOLLOUT, {u32=7, u64=7}}}, 150, -1) = 1
epoll_ctl(5, EPOLL_CTL_DEL, 7, {EPOLLOUT|EPOLLET, {u32=7, u64=7}}) = 0
close(7)                                = 0

Еще смущает EPOLLET при нормальной работе, обычно его нет в strace, помогите пожалуйста если знаете в чем проблема

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Проблема с socket`ом (EPOLL, nonblocking)"  +/
Сообщение от Zyxel (??) on 23-Апр-10, 16:23 
интересно было б на код взглянуть, а не на лог


Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Проблема с socket`ом (EPOLL, nonblocking)"  +/
Сообщение от pavlinux email(ok) on 30-Авг-10, 02:51 
>пожалуйста если знаете в чем проблема

происходит что-то,...
с сервером происходит, ...
по сокету происходит ...
да и видимо есть, т.к. есть ...
но до от сервера данные не доходят...
по strace`у приходят ....
взялись откуда-то....

Чё?

> Еще смущает EPOLLET при нормальной работе, обычно его нет в strace,
> помогите пожалуйста если знаете в чем проблема

Сервачок поди на пидоне или Qt?

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру