diff --git a/slsDetectorSoftware/MySocketTCP/genericSocket.h b/slsDetectorSoftware/MySocketTCP/genericSocket.h index 3a0a005fd..2ace6c687 100644 --- a/slsDetectorSoftware/MySocketTCP/genericSocket.h +++ b/slsDetectorSoftware/MySocketTCP/genericSocket.h @@ -73,6 +73,7 @@ using namespace std; #define DEFAULT_PACKET_SIZE 1286 #define DEFAULT_PACKETS_PER_FRAME 2 +#define SOCKET_BUFFER_SIZE (100*1024*1024) //100MB #define DEFAULT_PORTNO 1952 #define DEFAULT_BACKLOG 5 #define DEFAULT_UDP_PORTNO 50001 @@ -208,26 +209,29 @@ enum communicationProtocol{ // reuse port - int yes=1; - if (setsockopt(socketDescriptor,SOL_SOCKET,SO_REUSEADDR,&yes,sizeof(int)) == -1) { + int val=1; + if (setsockopt(socketDescriptor,SOL_SOCKET,SO_REUSEADDR,&val,sizeof(int)) == -1) { cerr << "setsockopt" << endl; socketDescriptor=-1; return; } + //increase buffer size if its udp + val = SOCKET_BUFFER_SIZE; + if((p == UDP) && (setsockopt(socketDescriptor, SOL_SOCKET, SO_RCVBUF, &val, sizeof(int)) == -1)) + { + cerr << "Cannot set socket receive buffer size" << endl; + } + + + if(bind(socketDescriptor,(struct sockaddr *) &serverAddress,sizeof(serverAddress))<0){ cerr << "Can not bind socket "<< endl; socketDescriptor=-1; return; } - //increase buffer size if its udp - if((communicationProtocol == UDP) && (setsockopt(sockfd, SOL_SOCKET, SO_RCVBUF, &SOCKET_BUFFER_SIZE, sizeof(int)) == -1)) - { - cerr << "Cannot set socket receive buffer size" << endl; - } - if (getProtocol()==SOCK_STREAM) listen(socketDescriptor, DEFAULT_BACKLOG); diff --git a/slsDetectorSoftware/commonFiles/sls_detector_defs.h b/slsDetectorSoftware/commonFiles/sls_detector_defs.h index 3f8cc44f9..10c704b2b 100755 --- a/slsDetectorSoftware/commonFiles/sls_detector_defs.h +++ b/slsDetectorSoftware/commonFiles/sls_detector_defs.h @@ -19,8 +19,6 @@ #define MAXDET 100 /** header length for data :gotthard*/ #define HEADERLENGTH 12 -/** udp socket buffer size - 100MB*/ -#define SOCKET_BUFFER_SIZE (100*1024*1024) /** maximum rois */ #define MAX_ROIS 100