关于一个socket服务器实现的问题

来源:百度知道 编辑:UC知道 时间:2024/05/13 19:29:22
一个socket服务器同时监听两个端口,port1用于接收一个客户端定时发送来的信息,port2将这些信息发送到另一客户端实时显示
请问该如何实现?
是用多线程同时监听吗?麻烦详细解释一下
谢谢!
哦~是用java实现的

to chenli0513:谢谢!
我没学过C#,看了下你的程序,实现的是不是监听端口将student信息写入list?
但是我要实现的有两个客户端,一个发信息到服务器,服务器收到信息后再发到另一个客户端实时显示
难道两个客户端可以在一个端口实现的?

创建线程1,创建方法1

思路:
线程1负责监听port1,取客户的实时输入数据,并将数据写到一个缓存中(list),然后通知方法1,方法1从缓存中取数据,并写到port2。
另一个客户端自己负责监听并获取服务器发布在port2的数据。

这个是用多线和实现的,不需要有两个端口来监听,如果没有特别需要,是不用多线程!
你在服务端监听有没有客户端发生过来的请求信息,如果用你就应答他,这样就建立了连接,用socket类申明后,你可以调用他的send方法,我也不清楚你用的是什么语言,只能在concept上与讲解一下!
可以用多线程,首无你要清楚你用多线程做什么,我是造成你用多线程,但是你也可以不用,
using System;
using System.Collections.Generic;
using System.Text;
using System.Net.Sockets;
using System.Xml.Serialization;

namespace Server
{
class Program
{
static void Main(string[] args)
{
TcpListener tcp = new TcpListener(8888);
tcp.Start();
TcpClient client = tcp.AcceptTcpClient();
NetworkStream ns = client.GetStream();
List<Model.student> list = new List<Model.student>();
for (int x = 0; x < 200; x++)
{
Model