- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
课题一:基于TCP的Socket通讯编程
一、课程设计目的:
.能够深刻了解socket编程思想;
.从实现层面理解TCP和UDP的不同。
二、课程设计环境:
. windows XP 或 win7 系统;
.配置有java虚拟机的环境变量;
.编写java程序的软件Eclipse0
三、课程设计原理:
Windows Sockets规本意在于提供给应用程序开发者一套简单的API, 并让各家网络软件供应商共同遵守。此外,在一个特定版本晅ndows的基础 上,Windows Sockets也定义了一个二进制接口 (ABI),以此来保证应用 Windows Sockets API的应用程序能够在任何网络软件供应商的符合Windows Sockets协议的实现上工作。因此这份规定义了应用程序开发者能够使用, 并且网络软件供应商能够实现的一套库函数调用和相关语义。遵守这套 Windows Sockets规的网络软件,我们称之为Windows Sockets兼容的,而 Windows Sockets兼容实现的提供者,我们称之为Windows Sockets提供者。 一个网络软件供应商必须百分之百地实现Windows Sockets规才能做到现 Windows Sockets 兼容。
四、课程设计容:
(1)网络程序初始化,服务器和客户端WinSock.API均要求在调用其他 WinSock函数以前先调用WSAStartUp函数初始化。
(2)创建套接字Socket。°
(3)配置并启动套接字。
(4)通过Socket发送和接收数据0
(5)程序结束时必须关闭Socket,使用与WSAStartUpO相对应的函数 WSACleanUpO,释放所分配的部缓冲区和其他资源。
代码:
EchoThreadServer:
import java. net. *;
public class EchoThreadServer {
public static void main(String[] args) throws Exception ;
// TODO Auto-generated method stub
ServerSocket server = null;
Socket client = null;
InetAddress remAdd = null;
server = new ServerSocket(12345);
boolean f = true;
while (f) {
System, out. printin(连接正在建立,请等待 );
client = server, accept ();
System, out. print In (M客户端的IP地址和端口号是:+ client, getLocalSocketAddress());
new Thread(new EchoThread(client)).start ();
)
server, close ();
}
}
EchoThread:
import java. io. *;
import java. net. Socket;
public class EchoThread implements Runnable{
private Socket client = null;
public EchoThread(Socket client)
{
this, client = client;
}
public void run()
{
BufferedReader buf = null;
PrintStream out = null;
BufferedReader input = null;
try (
out = new PrintStream(client. getOutputStreamO);
buf = new BufferedReader(new
InputStreamReader(client. getlnputStreamO));
input = new BufferedReader(new
InputStreamReader(System, in));
boolean flag = true ;
while (flag) {
String str = buf. readLineO ;
System, out. println(,rClient: ,r + str); if (str == null I | equals (str)) { flag = false;
)
else if (,,goodbye,\ equals (str)) { flag = false;
}
else { out. printin(MEcho:M + str); )
}
clie
您可能关注的文档
- 安卓课程设计报告文献.docx
- 宾馆信息管理系统课程设计报告文献.docx
- 茶叶防潮包装设计报告文献.docx
- 工程概预算课程设计报告文献.docx
- 计算机课程设计报告文献.docx
- 家庭防盗报警系统设计开题报告文献.docx
- 某别墅结构设计开题报告文献.docx
- 施工图设计文件审查报告文献.docx
- 食品工程原理课程设计报告文献.docx
- 隧道工程课程设计报告书.docx
- 五位一体教案教学教案设计.docx
- 思修与法基-教学教案分享.pptx
- 大学军事之《中国国防》题库分享.docx
- 2023版毛泽东思想和中国特色社会主义理论体系概论第五章-中国特色社会主义理论体系的形成发展.pdf
- 思修与法基 教学全案分享.docx
- 大学军事之《军事思想》题库分享.docx
- 《经济思想史》全套课件-国家级精品课程教案课件讲义分享.pdf
- 厦门大学国际金融全套资料(国家级精品课程)--全套课件.pdf
- 2023版毛泽东思想和中国特色社会主义理论体系概论第五章-中国特色社会主义理论体系的形成发展.docx
- 2023版毛泽东思想和中国特色社会主义理论体系概论第五章中国特色社会主义理论体系的形成发展分享.pdf
文档评论(0)