`
东之雪
  • 浏览: 1363 次
  • 性别: Icon_minigender_1
最近访客 更多访客>>
社区版块
存档分类
最新评论

通信服务器器端的实现

阅读更多
通信——服务器的实现
技术实现1:
主程序里面创建一个服务器套接字,并绑定指定的端口其中port是端口号
ServerSocket  ss=new ServerSocket (port);
2:
另外建立一个ServerThead 类来继承线程~~让每一个客户端在服务器都有一个线程来单独处理~~
public class ServerThead extends Thread{
Socket s;
public OutputStream output;
public ServerThead(Socket s){
this.s=s;
}
public void run(){
try {
//得到与客户端连接的输入输出流当然也可以包装成Datainputstream和Dataoutputstream
InputStream input = s.getInputStream();
output = s.getOutputStream();

String str="请先输入您的名字:";
System.out.print("请先输入您的名字:");
////还有~~GB2312,GBK,UTF-8,ISO-8859-1.....
byte[] bytes = str.getBytes("GBK");
output.write(bytes);

name=LineString(input);
jc.addItem(name);
Data.list.add(this);///添加在列表中~~~

while(true){
// int n =input.read();
//
// System.out.println((char)n);
String st=LineString(input);
if("bye".equals(st)||remove){
break;
}
else{
System.out.println(name+"说:~~~"+st);
}
}

String stra="you have left~~~~~~~~~~Bye~Bye";
byte [] b=stra.getBytes();
output.write(b);

s.close();
output.close();
System.out.println("关闭了~~");
         } catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//读取一行字符的方法
private String LineString(InputStream input) throws IOException{
////字节字符输出流~~和那个字节数组队列差不多~~当做队列吧
ByteArrayOutputStream  baos=new ByteArrayOutputStream ();

while(true){
int n=input.read();
///若为换行~~就跳出循环~~
if(n=='\r'){
continue;
}
if(n=='\n'){
break;
}
baos.write(n);
}
byte []bytes=baos.toByteArray();
String ss=new String(bytes,"GBK");
return ss;
}
}
在主程序的里面用如下的代码来接收每一个连接的客户端,并且将每一个客户端交给ServerThead 的线程来处理~~
while(true){
//接收客户端的访问~此程序在有客户访问前是一直在堵塞在这里的
Socket s=ss.accept();
//新建一个线程处理客户端的访问~程序会阻塞在这里
//这样就可以丢给每一个线程去完成~~
//因此可以被多个客户访问
ServerThead st=new ServerThead(s);
System.out.println("有人访问了");
///也可以将每一个用户保存在一个队列中去
DATA.list.add(st);
st.start();
}

以上就可以实现与多个客户端连接的和服务器聊天的程序了~
总结:
建立服务器的套接字。记得要用每一个线程来处理每一个连接上的客户端~这样就可以实现多个客户端之间的通信了
当然是实现了服务器端的通信(聊天吧)
现在我们需要去实现客户端和文件的交流啊~~
分享到:
评论

相关推荐

    Labview的TCP通信的服务器端

    总结来说,LabVIEW的TCP通信服务器端实现涉及到网络编程、数据处理、报表生成、邮件服务以及嵌入式硬件交互等多个层面。通过这些技术,你可以构建起一套完整的远程监控和控制系统,满足不同行业的测试和应用需求。在...

    利用socket实现客户端服务器之间简单通信

    `TCP_server.py`文件通常包含了服务器端的代码,它会创建一个socket对象,绑定到特定的IP地址和端口,然后调用listen()方法监听连接。当有客户端连接时,accept()方法会被阻塞,直到客户端发起连接请求,此时服务器...

    socket实现客户端与服务器端通信

    在IT领域,网络编程是不可或缺的一部分,而Socket编程则是实现客户端和服务器端通信的基础。本示例中的"socket实现客户端与服务器端通信"是一个简单的C#项目,它演示了如何使用Socket类在两者之间建立连接并进行数据...

    QT编程TCP使用户端和服务器端通信 服务器端

    qt编程实现客户端与服务器端通信 QT编程TCP协议使用户端和服务器端通信 服务器端

    flash与服务器端通信

    然而,实现Flash与服务器端通信是其核心功能,使得动态数据交换成为可能,为用户带来丰富的互动体验。以下将详细阐述Flash与服务器端通信的相关知识点。 一、Flash与服务器端通信的技术原理 Flash通过ActionScript...

    ExtJs的服务器端控件实现

    总结来说,"ExtJs的服务器端控件实现"涵盖了前端与后端的紧密协作,包括Ajax通信、JSON数据交换、API设计、数据管理、用户交互以及安全性等多个方面。理解并掌握这些知识点,对于构建高效、功能丰富的ExtJS应用至关...

    VC++6.0实现客户端与服务器端通讯

    在本例中,我们将使用VC++6.0中的CAsyncSocket类和线程技术来实现客户端与服务器端之间的通信。 ##### 客户端数据发送 为了实现客户端与服务器端的通信,首先需要在客户端的主对话框中定义相关的网络开关、线程等...

    java实现TCP多客户端与服务器端的通信

    本篇文章将聚焦于如何使用Java来实现多客户端与服务器端的TCP通信。 首先,我们需要理解TCP通信的基本原理。TCP提供了一种点对点的、全双工的数据通信方式,通过三次握手建立连接,然后进行数据传输,最后通过四次...

    局域网通信 服务器端和客户端

    本项目涉及的是使用C#语言实现的局域网通信,包括客户端(client)和服务器端(Server)的程序代码。C#是一种广泛用于Windows平台的面向对象的编程语言,特别适合开发网络应用。 在C#中进行局域网通信,通常会用到...

    MQTT实现前后端实时通信

    在本文中,我们将深入探讨如何利用MQTT实现前后端的实时通信,并讨论如何设计高效且优雅的主题(topic)策略。 首先,让我们理解**前后端实时通信**的基本概念。在传统的Web开发中,前后端交互通常基于HTTP请求-...

    C语言利用socket套接字实现客户端和服务器端TCP通信实例

    本篇将详细探讨如何利用C语言的socket套接字实现客户端和服务器端的TCP通信。 TCP(Transmission Control Protocol)是一种面向连接的、可靠的传输协议,它通过三次握手建立连接,并在数据传输过程中进行确认和重传...

    Socket服务器与客户端双向通信实现代码

    服务器端的实现主要涉及以下几个步骤: 1. **初始化Socket**:首先,创建一个新的Socket实例,指定地址族(AddressFamily.InterNetwork),套接字类型(SocketType.Stream)以及协议类型(ProtocolType.Tcp)。这...

    C# Socket 通信,客户端服务器端

    本教程将深入讲解C#中的Socket通信,包括客户端和服务器端的实现,以及如何通过源码学习相关知识。 首先,我们要理解Socket的基本概念。Socket,也称为套接字,是网络通信中的一个接口,它允许应用程序通过网络发送...

    即时通信的简单实现(使用Java套接字实现)

    在本项目中,客户端与服务器端均采用Java为开发语言,使用C/S模式进行开发,实现客户端与服务器端得直接通信,采用服务器与多个客户端的对话(Chat)。当一个客户端发送Quit时,就退出聊天室。同时服务器端并把该...

    手机端与服务器端建立通信,从网络获取数据

    在移动应用开发中,尤其是Android平台上,手机端与服务器端的通信是不可或缺的一部分。这个过程通常涉及客户端(手机端)发起请求,服务器端处理请求并返回数据,最终这些数据会在客户端展示。以下将详细讲解这一...

    网络通信的服务器端用C#做的实现了两台机子通信

    网络通信的服务器端用C#做的实现了两台机子通信.

    用Socket实现客户端和服务器端通信(完整版)

    服务器端实现 服务器端的实现主要包括以下几个步骤: 1. 创建Socket对象,并监听特定的端口。 2. 接收客户端的连接请求,并创建一个新的Socket对象来处理连接。 3. 处理客户端的请求,并返回结果。 在服务器端,...

    Linux下的服务器与客户端通信

    - 防火墙设置:确保服务器端的端口对客户端开放,否则客户端无法连接。 - 错误处理:在编程过程中,需要对可能出现的错误(如网络中断、文件描述符溢出等)进行妥善处理。 - 性能优化:对于高并发场景,可以考虑...

    采用socket技术实现客户端与服务器端的通信

    Socket技术是计算机网络编程中的重要组成部分,主要用于实现客户端与服务器端之间的双向通信。在这个过程中,客户端发起连接请求,服务器响应并建立连接,然后双方就可以通过这个连接交换数据。本篇文章将详细探讨...

Global site tag (gtag.js) - Google Analytics