一个Scocket实例程序

网络通信(基于TCP/IP实现客户端/服务器的通信) 被连接者需要完成的任务(服务端):1、创建socket内核对象,内核创建完成后会返回它的描述符(该描述只是为了完成连接,三次握手)2、准备本机地址(ip地址+端口号)3、绑定(把本机地址与socket对象进行绑定)4、开启监听,并设置排队的队列长度5、等待连接,连接成功后,内核会再返回一个连接成功的Socket描述符,专门用来通信for(;; 阅读详情
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>



import java.io.*;

import java.net.*;



public class EchoServer1

{ public static void main(String[] args )

{ try

{

ServerSocket s = new ServerSocket(8500);

Socket incoming = s.accept( );

BufferedReader in = new BufferedReader

(new InputStreamReader(incoming.getInputStream()));

PrintWriter out = new PrintWriter

(incoming.getOutputStream(), true /* autoFlush */);



out.println( "Hello! Enter BYE to exit." );



boolean done = false;

while (!done)

{ String line = in.readLine();

if (line == null) done = true;

else

{ out.println("Echo: "   line);



if (line.trim().equals("BYE"))

done = true;

}

}

incoming.close();

}

catch (Exception e)

{ System.out.println(e);

}

}

}





// EchoClient1.java

import java.io.*;

import java.net.*;



public class EchoClient1 {      

 public static void main(String args[])   {

   try{			

      if (args.length != 1){

	System.out.println("USAGE: java Client servername");				

	return;

      }	

      String  connectto= args[0];

      Socket connection;

      // connect to server

      if(connectto.equals("localhost")){

	connection=new Socket(InetAddress.getLocalHost(),8500);

      }

      else{

	connection=new Socket(InetAddress.getByName(connectto),8500);				

      }			

      BufferedReader  input=new BufferedReader(new InputStreamReader(connection.getInputStream()));                       

      PrintWriter out = new PrintWriter(connection.getOutputStream(), true /* autoFlush */);

			

      // read information from server                        

      String info;

      info = input.readLine();

      System.out.println(info);

      boolean done = false;

      BufferedReader in = new BufferedReader(new InputStreamReader(System.in));

      String sInput;

      while(!done){

         sInput = in.readLine();

         out.println(sInput);

         if (sInput.equalsIgnoreCase("bye")) done = true;                           

         info = input.readLine();                           

         System.out.println(info);	

     }

     connection.close();                                                               

   }

   catch(SecurityException e){

     System.out.println("SecurityException when connecting Server!");		

   }		

   catch(IOException e){

     System.out.println("IOException when connecting Server!");   

   }

 }

}

运行 1 运行服务器 java EchoServer1 2 运行 客户端 java EchoClient1 server_hostname
scocket编程 讲述关于C语言的socket编程.希望对你有帮助. 立即下载

相关推荐

java 和scocket编程写的聊天器

实现简单的通信 c/s的模式 跟QQ很像的 但没它强大

Socket通信原理及实例

Scocket: Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。 Socket是如何建立连接的? 服务器端先初始化Socket,然后与端口绑定,对端口进行监听,调用accept阻塞,等待...

xiuxiuxiulai的博客 561

java实现文件上传与下载

文件上传与下载 java struts2

Socket的详细介绍

本文是关于Socket通信的稍微全面一点的介绍。包括了Socket出现的原因,Socket组成及关键点,Socket的关键实现,Socket的底层原理,Socket的优劣,如何调优Socket,Socket适用的场景以及Socket相关的高频面试问题。

XieHYBlog的博客 3万+

Scocket的服务器代码

新手代码 简单粗俗,希望能对大家有一点帮助

Scocket客户端版本

使用scocket做的客户端,新手代码请勿见笑

C#中Socket的简单使用

以前学过的Socket,后来没怎么用过,就基本忘了,所以闲来时重新回顾学习一番. 一.Socket的概念 Socket其实并不是一个协议,而是为了方便使用TCP或UDP而抽象出来的一层,是位于应用层和传输控制层之间的一组接口. 当两台主机通信是,必须通过Socket连接,Socket则利用TCP/IP协议建立TCP连接.TCP连接则更依赖于底层的IP协议.Socket是控制层传输协议. 双...

至情相遇的博客 5万+

推荐系统在音乐领域的实践:网易云音乐推荐算法解析

你是否有过这样的经历?打开网易云音乐,“私人FM”里总能推到你想听的歌;“每日推荐”的歌单,往往藏着你没听过但一入耳就爱上的曲目。这些“懂你”的推荐背后,是一套复杂却精密的推荐系统在运转。问题陈述:音乐推荐的难点远超一般商品——音乐是高度主观的艺术,用户兴趣易随心情、场景变化;小众音乐的“长尾效应”显著,如何让冷门好歌被发现?传统协同过滤依赖历史行为,面对新用户/新歌曲的“冷启动”问题束手无策;而单纯的内容推荐又难以捕捉用户的隐性兴趣。核心方案:网易云音乐采用“混合推荐策略”——融合协同过滤(CF)

AI天才研究院 2087

Socket详解

“一切皆Socket!” 话虽些许夸张,但是事实也是,现在的网络编程几乎都是用的socket。 ——有感于实际编程和开源项目研究。 我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型有哪些?还有

14万+

局域网tcp通信实验

IPv4 地址 . . . . . . . . . . . . : 192.168.92.79。IPv4 地址 . . . . . . . . . . . . : 192.168.92.59。子网掩码 . . . . . . . . . . . . : 255.255.255.0。子网掩码 . . . . . . . . . . . . : 255.255.255.0。使用这篇文章的小工具。

weixin_51883798的博客 434

基于微信小程序的答题系统

学习视频:《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!5812)]《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

2401_83330193的博客 499

基于Java Scocket 简单的多线程聊天程序

一个简单的聊天程序,有客户端和服务端,可以进行群聊功能。只有两个文件,涉及Scocket和多线程知识。 话不多说直接上代码 服务器端代码: /** * Created by lean on 2018/7/30. */ import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event...

sunayn的博客 812

安装Anaconda和Labelme的教程

1 登录Anaconda官网,选择Download https://www.anaconda.com/distribution/ 2 选择你想下载的Python版本,选择你的操作系统和位数,然后点击Download按钮就开始下载了 3 开始安装 下面两个框框都勾选 点击next,等待安装成功 打开Anaconda Navigator 点击红色圈圈的按钮 在cmd中输入 (1)创建虚拟环境 conda create -n labelme python=3.6 (2)激活虚拟环境 conda activa

qq_42178122的博客 3811

flex Scocket通信

今天下午研究了一下 flash 里的 XMLSocket 类遇到了小小问题,所以把它发了出来 flash 代码: var mySocket:XMLSocket = new XMLSocket(); // 本地地址,端口 5000 mySocket.connect("localhost", 5000); // 事件 mySocket.onConnect = function(mySt...

海宇的博客 234

UNet改进(6):基于注意力机制的多尺度医学图像分割方法

本文提出了一种集成多尺度注意力机制的UNet改进模型UNetWithAttention,用于提升医学图像分割性能。该模型在标准UNet架构基础上,设计了并行3×3、5×5、7×7卷积核的多尺度注意力模块,通过特征拼接和Sigmoid激活生成注意力权重,实现了对不同尺寸病变的自适应关注。模型采用分离式设计,将特征提取与特征选择解耦,在编码器-解码器各阶段嵌入注意力模块。实验表明,该方法在视网膜血管分割和肺结节检测任务中优于标准UNet,Dice系数和IOU分别提升2.6%和4.1%,同时保持计算效率。

2501_91516851的博客 1324

YOLOv8的特征蒸馏代码应用讲解(CWD/MGD/mimic/在线蒸馏/逻辑蒸馏)

基于YOLOv8的逻辑蒸馏、特征蒸馏、在线蒸馏等方法代码介绍。

qq_41920323的博客 2583

分布式计算学习笔记之一:Java进阶 与 Scocket通讯

// Todo

Climber_PG的专栏 642

【C++PCL】点云文件读写

本文介绍 PCL 中 PCD 与 PLY 点云文件的读取、保存和字段检查,覆盖 PointXYZI、PointXYZRGB、ASCII、二进制及压缩二进制,并给出 C++11 实操代码与参数调试建议。

weixin_45196569的博客 42

php cocket实例

window下,打开命令窗口,分别运行以下两行命令: # php.exe e:/wwwroot/server.php # php.exe e:/wwwroot/server.php 以下代码来自php官方手册 server.php: <?php //The Server error_reporting(E_ALL); $address = "127.0.

Alian的专栏 740

Hermes接入IMA知识库全攻略:将知识库装进你的Hermes智能体

本文详细介绍了如何将IMA知识库功能接入Hermes Agent平台,实现一站式笔记管理和知识库操作。主要内容包括:获取IMA访问凭证、下载技能包、配置凭据(支持文件和环境变量两种方式)、验证配置有效性,以及实际应用演示(查询知识库列表、创建笔记并添加到知识库)。文章还提供了常见问题解决方案,如认证失败处理、版本更新等。通过该集成,用户可在Hermes中直接调用IMA的笔记创建、知识库管理等强大功能,提升工作效率。

小石头的专栏 641

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

某科学的超 Java网络编程:Socket通信原理及实例学习

首先来思考几个问题: 如何把互联网上的网页抓下来?如何与互联网上的网络资源通信?如何在两个Java程序之间建立网络?面向连接与非面向连接的通信方式有什么区别? 接下来以此篇文章来学习: 理解计算机网络编程的概念,掌握如何使用Java在一台或多台计算机之间进行基于TCP/IP协议的网络通讯。通过理解TCP/IP协议的通讯模型,以JDK提供的java.net包为工具,掌握各种基

lemonGuo的大脑皮层、小脑、海马体、杏仁核..... 4766

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

池化技术在网络编程中的应用:性能提升与资源管理

1.背景介绍 网络编程是指在网络环境中进行的编程工作,涉及到的技术包括网络通信、网络协议、网络应用等。随着互联网的发展,网络编程已经成为了一种重要的编程范式。在网络编程中,资源管理和性能优化是非常重要的问题。池化技术是一种常用的资源管理和性能优化方法,它可以有效地管理和分配资源,提高程序的性能。 池化技术的核心思想是将一组相同类型的资源组成一个池,从而实现资源的统一管理和分配。在网络编程中,池...

AI天才研究院 988

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Linux socket 完整的读写函数

写函数write ssize_t write(int fd,const void *buf,size_t nbytes) write函数将buf中的nbytes字节内容写入文件描述符fd.成功时返回写的字节数.失败时返回-1. 并设置errno变量. 在网络程序中,当我们向套接字文件描述符写时有俩种可能. 1)write的返回值大于0,表示写了部分或者是全部的数据. ...

mmdev 417

Socket(发送,接收)

send.cpp: #include <WinSock2.h> #include <stdio.h> #include <Windows.h> #pragma comment(lib,"ws2_32.lib") int main() { unsigned long ip; ip=inet_addr("127.0.0.1...

weixin_34106122的博客 1284

java网络专题

第二次的博客,也没有什么感想,就觉得老师说的很有道理,如果自己没有什么学习方法,那就每天都敲代码,肯定会有收获 TCP/IP协议栈 栈:一组协议 TCP 网络传输控制协议 IP 网络地址协议 应用层:访问的网页 http协议(超文本传输协议) 远程登录主机 telnet协议 ssh协议(保证安全) 传输层:打包和确定目的应用程序 TCP(保障数据的可靠有序),UDP(不保障) htt...

qq_43651654的博客 224
上一篇: 有关GUI建立两图标之间连线的例子(完整)
下一篇: 一个Oracle数据库小程序
java169
博客等级 码龄18年 27粉丝 2568原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值