#include<sys/select.h>
#include<sys/un.h>
#include<netinet/in.h>
+#include<netinet/tcp.h>
#include"../include/drd64_types.h"
#include"../include/drd64_defines.h"
#include"../include/drd64_conf.h"
p_attach->i_connect_id = p_phead->i_connect_id;
i_fds = p_cinfo->i_src_socket;
+ /*i_wlen = send( i_fds, (void *)p_phead,
+ DRD64_PacketSize(p_phead), 0x00 );*/
i_wlen = send( i_fds, (void *)p_phead,
- DRD64_PacketSize(p_phead), 0x00 );
+ sizeof( Drd64_PacketHeader), 0x00 );
+ DRD64_DEBUG_PRINT("send",i_wlen,"FD",i_fds,"errno",errno);
+ i_wlen += send( i_fds, (void *)p_attach,
+ p_phead->i_datalen, 0x00 );
DRD64_DEBUG_PRINT("send",i_wlen,"FD",i_fds,"errno",errno);
if( i_wlen != DRD64_PacketSize(p_phead) )
int i_cnt;
int i_result;
int i_err;
+ int i_flag;
int i_pid;
int i_resume_flag;
int i_socket_new;
DRD64_DEBUG_SYSCALL("accept(New Comm.)",i_socket_new,errno);
if( -1 != i_socket_new ) {
+
+ i_flag = 1;
+ i_err = setsockopt(i_socket_new, IPPROTO_TCP, TCP_NODELAY,
+ (char *)&i_flag, sizeof(int));
+ if( 0 > i_err ) { puts("opt err"); }
+
if( i_socket_new >= i_selects_max )
{ i_selects_max = i_socket_new + 1; }
{
int i_socket_inet;
int i_err;
+ int i_flag;
struct sockaddr_in t_sin;
i_socket_inet = socket( PF_INET, SOCK_STREAM, 0 );
if( INADDR_NONE == t_sin.sin_addr.s_addr ) { return -2; }
}
+ i_flag = 1;
+ i_err = setsockopt(i_socket_inet, IPPROTO_TCP, TCP_NODELAY,
+ (char *)&i_flag, sizeof(int));
+ if( 0 > i_err ) { puts("opt err"); return -1;}
+
i_err = bind( i_socket_inet,
(struct sockaddr *)&t_sin,
sizeof( struct sockaddr_in ) );