多个插座连接

时间:2015-06-10 12:45:56

标签: c# visual-studio sockets

我有6个设备,价格检查器。我有一个项目,超市的客户将扫描此设备上的产品,它将返回产品的价格。我已设法连接一台设备,获取条形码并发送数据。但我似乎无法连接多个套接字连接。 这是我收到和发送数据时的代码:

与设备连接:

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/mainlayerr"
        android:orientation="vertical" >
        <ScrollView 
            android:layout_height="wrap_content"
            android:layout_width="match_parent"
            >

        <LinearLayout
            android:id="@+id/ll_MenuLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"


             >
             <AutoCompleteTextView 
                   android:id="@+id/txtSearchh"
                   android:layout_height="wrap_content"
                   android:layout_width="match_parent"
                    android:layout_marginLeft="@dimen/space_2_5_x"
                    android:layout_marginRight="@dimen/space_2_5_x"
                    android:layout_marginTop="@dimen/space_2_5_x"
                   android:hint="Search"
                   android:layout_gravity="bottom|left"
                   android:padding="5dp"
                   android:background="@null"
                   android:textColor="@color/markerboxcolor"


                   />
             <View 
                 android:layout_height="1dp"
                 android:layout_marginTop="-6dp"
                 android:layout_width="match_parent"
                 android:layout_marginLeft="@dimen/space_2_5_x"
                 android:layout_marginRight="@dimen/space_2_5_x"
                 android:background="@color/divider_color"

                 />

            <RelativeLayout
                android:id="@+id/search_menu"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:baselineAligned="false"
                android:orientation="horizontal" >



                <LinearLayout
                    android:id="@+id/tab2_wrapper"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_marginRight="@dimen/space_0_x"

                    android:layout_centerInParent="true"
                    android:orientation="horizontal"
                    android:padding="@dimen/space_2_x" >

                    <CheckBox
                        android:id="@+id/checkimage_male"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:clickable="true"
                        android:contentDescription="@string/app_name"
                        android:text="Male"
                        android:layout_marginRight="5dp"
                        android:gravity="center|center_vertical|center_horizontal"
                         />

                    <CheckBox
                        android:id="@+id/checkimage_female"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:clickable="true"
                         android:text="Female"
                         android:layout_marginLeft="5dp"
                        android:contentDescription="@string/app_name"
                        android:gravity="center|center_vertical|center_horizontal"
                         />
                </LinearLayout>
          </RelativeLayout>
           <HorizontalScrollView 
    android:orientation="horizontal" android:layout_width="wrap_content"
    android:id="@+id/horizontalScrolll"
    android:layout_margin="10dp"
    android:scrollbars="none"
    android:background="#C6D7D2" android:layout_height="80dp">

                <LinearLayout android:id="@+id/container" 
                    android:layout_width="wrap_content"
                     android:layout_height="wrap_content"

                     android:orientation="horizontal">        
    </LinearLayout>
           </HorizontalScrollView>

            <LinearLayout
                android:id="@+id/distance_menu"
                android:layout_width="match_parent"
                android:layout_height="@dimen/footer_tabs_container_height"
                android:layout_below="@+id/sportsViewPager"
                android:baselineAligned="false"
                android:gravity="center_vertical"
                android:orientation="horizontal" >

                <LinearLayout
                    android:id="@+id/tab3_wrapper"
                    android:layout_width="0dip"
                    android:layout_height="@dimen/container_height"
                    android:layout_gravity="center|center_horizontal|center_vertical"
                    android:layout_marginRight="@dimen/space_2_x"
                    android:layout_weight="0.15"
                    android:orientation="vertical" >

                    <TextView
                        android:id="@+id/distance"
                        android:layout_width="wrap_content"
                        android:layout_height="match_parent"
                        android:layout_marginLeft="@dimen/space_2_x"
                        android:gravity="left|center_horizontal|center_vertical"
                        android:paddingLeft="@dimen/space_2_x"
                        android:text="@string/search_dist"
                        android:textColor="@color/text_color1x"
                        android:textSize="@dimen/text_size_medium"
                        android:textStyle="normal" />
                </LinearLayout>

                <LinearLayout
                    android:id="@+id/tab4_wrapper"
                    android:layout_width="0dip"
                    android:layout_height="@dimen/footer_tabs_container_height"
                    android:layout_marginRight="@dimen/space_2_x"
                    android:layout_weight=".5"
                    android:gravity="center_vertical"
                    android:orientation="horizontal" >

                    <com.sportspartners.sportspartners.util.DiscreteSeekBar
                        android:id="@+id/seekBarr"
                        android:layout_width="0dp"
                        android:layout_height="wrap_content"

                        android:layout_weight="1"

                        android:paddingLeft="@dimen/space_2_x"
                        android:paddingRight="@dimen/space_2_x"
                         app:dsb_allowTrackClickToDrag="false"
        app:dsb_indicatorTextAppearance="@style/CustomFloaterTextAppearance"
        app:dsb_progressColor="@color/my_progress_color"
        app:dsb_rippleColor="#FF7788FF"
        app:dsb_indicatorColor="@color/my_floater_color"
        app:dsb_indicatorFormatter="%d" />

                    <TextView
                        android:id="@+id/progressID"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_marginLeft="@dimen/space_2_x"
                        android:layout_marginRight="@dimen/space_2_x"
                        android:text="10 Kms" >
                    </TextView>
                </LinearLayout>
            </LinearLayout>



            <View
                android:id="@+id/seprater1"
                android:layout_width="match_parent"
                android:layout_height="1dp"
                android:layout_below="@+id/from_menu"

                android:background="@color/blue" />   
                <FrameLayout 

                       android:layout_width="match_parent"
        android:layout_height="400dp"
         android:layout_below="@+id/seprater1"
                    >          
            <fragment
        android:id="@+id/mappy"
        android:layout_width="match_parent"
        android:layout_height="400dp"


    android:name="com.sportspartners.sportspartners.fragments.search.SearchFragment"


        class="com.google.android.gms.maps.MapFragment" />
            <View
            android:id="@+id/imageView123"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:src="@android:color/transparent" />       

           </FrameLayout> 
        </LinearLayout>

        </ScrollView>

</LinearLayout>   


 <ListView 
      android:layout_height="wrap_content"
      android:layout_width="match_parent"
      android:layout_margin="5dp"
      android:divider="@null"
      android:scrollbars="none"
      android:id="@+id/searchhList"
     android:visibility="gone"
      ></ListView>

    <ImageView

        android:id="@+id/progress_image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"


        android:visibility="gone"
        />
<LinearLayout
            android:layout_width="80dp"
            android:layout_height="wrap_content"
           android:id="@+id/messagenotificationlayout"
            android:layout_alignParentRight="true"
            android:visibility="gone"
           android:layout_alignBottom="@+id/searchhList"
           android:descendantFocusability="blocksDescendants"
            >
          <com.example.floatinglibrary.FloatingActionButton

         android:clickable="false"
                android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/chatterimage"
      app:fab_addButtonColorNormal="#00000000"

               android:id="@+id/messagenotificationbtn"
             android:background="@null" 
            app:fab_size="normal"



         />
            <TextView

                 android:background="@drawable/blue_circle"
                 android:id="@+id/messagenotificationbadge"
                android:layout_width="wrap_content"
                android:layout_gravity="center"
             android:gravity="center"
                  android:paddingLeft="5dp"
             android:paddingTop="5dp"
             android:paddingRight="5dp"

             android:layout_marginLeft="-17dp"

             android:layout_marginTop="-20dp"
             android:paddingBottom="5dp"
                android:layout_height="wrap_content"
                  android:padding="2sp"
              android:clickable="false"
                    android:text="10"
                    android:textColor="@color/white"
                    android:textSize="@dimen/text_size_micro_min"

                />

</LinearLayout>


</RelativeLayout>

 parent layout with view pager

获取条形码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"

    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/titlecontainer"
         >
     <LinearLayout 
          android:id="@+id/titlbarrSearch"
        android:layout_width="match_parent"
        android:layout_height="55dp"
        android:background="@color/markerboxcolor"
        android:layout_gravity="top"
      android:orientation="horizontal"
        android:paddingTop="4dp"
         android:visibility="gone"
        android:gravity="center_vertical"


         >
         <ImageButton 

             android:layout_marginLeft="3dp"
             android:id="@+id/btnsearchback"
             android:src="@drawable/searchback"
                android:layout_height="wrap_content"
                android:gravity="center_vertical"
             android:layout_width="wrap_content"
             android:background="@null"
             />
         <TextView 
             android:id="@+id/txttitle"
             android:layout_height="wrap_content"
             android:layout_width="match_parent"
             android:gravity="center_horizontal"
             android:layout_gravity="center"
             android:text="Search"
             android:textColor="@color/pure_white"
             android:textSize="@dimen/text_size_large"
             />
         </LinearLayout>
    <LinearLayout 
          android:id="@+id/titlbarr"
        android:layout_width="match_parent"
        android:layout_height="55dp"
        android:background="@color/markerboxcolor"
        android:layout_gravity="top"
        android:weightSum="5"

        android:gravity="center"


         >
         <RelativeLayout
             android:layout_height="match_parent"
             android:layout_width="0dp"
              android:layout_weight="1"
              >
          <TextView 
             android:id="@+id/txt1"
             android:layout_width="match_parent"

        android:layout_height="50dp"
        android:text="Feed"
        android:gravity="center"

         android:textColor="@color/tabred" 
             />
          <View 
              android:layout_height="4dp"
              android:layout_width="match_parent"
              android:layout_alignParentBottom="true"
              android:background="@color/tabred"
              android:id="@+id/view1"
              />
          </RelativeLayout>
         <RelativeLayout
             android:layout_height="match_parent"
             android:layout_width="0dp"
              android:layout_weight="1"
              >
          <TextView 
             android:id="@+id/txt2"
              android:layout_width="match_parent"

        android:layout_height="50dp"
        android:text="Profile"
       android:gravity="center"
         android:textColor="#ffffff" 
             />
           <View 
              android:layout_height="4dp"
              android:layout_width="match_parent"
              android:layout_alignParentBottom="true"
              android:background="@color/pure_white"
              android:id="@+id/view2"
              android:visibility="gone"
              />
          </RelativeLayout>
            <RelativeLayout
             android:layout_height="match_parent"
             android:layout_width="0dp"
              android:layout_weight="1"
              >
          <TextView 
             android:id="@+id/txt3"
              android:layout_width="match_parent"

        android:layout_height="50dp"
        android:text="Search"
        android:gravity="center"
         android:textColor="#ffffff" 
             />
           <View 
              android:layout_height="4dp"
              android:layout_width="match_parent"
              android:layout_alignParentBottom="true"
              android:background="@color/pure_white"
              android:id="@+id/view3"
              android:visibility="gone"
              />
          </RelativeLayout>
              <RelativeLayout
             android:layout_height="match_parent"
             android:layout_width="0dp"
              android:layout_weight="1"
              >
          <TextView 
             android:id="@+id/txt4"
             android:layout_width="match_parent"

        android:layout_height="50dp"
        android:text="Followers"
         android:gravity="center"
         android:textColor="#ffffff" 
             />
           <View 
              android:layout_height="4dp"
              android:layout_width="match_parent"
              android:layout_alignParentBottom="true"
              android:background="@color/pure_white"
              android:id="@+id/view4"
              android:visibility="gone"
              />
          </RelativeLayout>
              <RelativeLayout
             android:layout_height="match_parent"
             android:layout_width="0dp"
              android:layout_weight="1"
              >
          <TextView 
             android:id="@+id/txt5"
               android:layout_width="match_parent"

        android:layout_height="50dp"
        android:text="Settings"
        android:gravity="center"
         android:textColor="#ffffff" 
             />
           <View 
              android:layout_height="4dp"
              android:layout_width="match_parent"
              android:layout_alignParentBottom="true"
              android:background="@color/pure_white"
              android:id="@+id/view5"
              android:visibility="gone"
              />
          </RelativeLayout>

     </LinearLayout>

    </RelativeLayout>

    <com.sportspartners.sportspartners.util.MyViewpager xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/pager"
    android:layout_width="match_parent"
    android:layout_below="@+id/titlecontainer"
    android:layout_height="match_parent" >
     <android.support.v4.view.PagerTabStrip
        android:id="@+id/pager_headerr"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/markerboxcolor"
        android:layout_gravity="top"
        android:visibility="gone"
        android:paddingBottom="4dp"
        android:paddingTop="4dp"
        android:textColor="#ffffff" />

</com.sportspartners.sportspartners.util.MyViewpager>




</RelativeLayout>

将数据发送到设备:

private void connect1(string adip, int porta)
        {
            try
            {
                IPEndPoint ip = new IPEndPoint(IPAddress.Parse(adip), porta);
                connect1 = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                connect1.Connect(ip);
            }
            catch (System.Net.Sockets.SocketException se)
            {
                MessageBox.Show(se.Message);
            }
        }

我想在同一时间连接多个decives,当有人扫描条码到设备时,软件将返回该设备的价格。我搜索了谷歌,这里有stackoverflow和codeproject,但没有运气。 任何示例代码都会欣赏它。感谢。

1 个答案:

答案 0 :(得分:0)

是的,您可以创建多个套接字以便同时与客户端通信。请参阅相关链接以获取示例代码。

您的应用程序是客户端还是服务器将取决于价格检查器预期与之通信的方式。

为了让您的生活更轻松,请专注于首先使同步解决方案正常工作。只有在完全理解它的工作原理时,才应该使用异步代码。

补充阅读