计算机网络实验--(socket的简单练习)
2014-03-03 22:05
375 查看
书上用c写的,还要在linux下运行。在网上找了下python写socket (链接).You
cannot but admit python is just so beautiful!
原链接的代码有点问题,没有实现持续的监听。稍微改了一下,就可以在命令行下,像qq那样即时文字聊天了
server.py
client.py
cannot but admit python is just so beautiful!
原链接的代码有点问题,没有实现持续的监听。稍微改了一下,就可以在命令行下,像qq那样即时文字聊天了
server.py
#!/usr/bin/python # -*- coding: utf-8 -*- import socket from time import ctime ''' host为空表示bind可以绑定到所有有效地址上 port 必须要大于1024 bufsiz为缓冲区 我们设置为1K ''' host = '' port = 23456 bufsiz = 1024 ADDR = (host,port) tcpSerSock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) tcpSerSock.bind(ADDR) tcpSerSock.listen(5) #参数表示允许多少连接同时连进来 try: while True: ''' 进入服务器的无限循环中,等待连接到来 有链接时,进入对话循环,等待客户发送数据,如果消息为空,表示客户端已经退出,等待下一个客户端连接 得到客户端消息后在消息前加一个时间戳后返回 ''' print 'waiting for connection...' new_s,addr = tcpSerSock.accept() print '...connected from ',addr while True: data = new_s.recv(bufsiz) if not data: new_s.close() break print data data = raw_input('> ') new_s.send('[%s] %s' %(ctime(),data)) except BaseException, e: tcpSerSock.close() #记住在服务器退出时记得关闭
client.py
import socket host = '127.0.0.1' port = 23456 bufsiz = 1024 ADDR = (host,port) #目标地址和端口 tcpCliSock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) while True: try: tcpCliSock.connect(ADDR) break except: print 'error please waiting..' while True: data = raw_input('> ') if not data: break tcpCliSock.send(data) data = tcpCliSock.recv(bufsiz) if not data: break print data tcpCliSock.close()
相关文章推荐
- Linux网络编程 - TCP Socket 简单练习:新进程辅助通信
- 计算机网络实验,JAVA实现一个简单GBN协议,模拟引入数据包的丢失,验证协议的有效性
- 计算机网络socket搭建实验(付源码)
- Socket网络编程--简单Web服务器(1)
- 计算机网络Socket编程之TCP协议
- Socket tcp练习以及io流的简单使用
- 基于socket的简单网络程序设计
- java 网络通信socket实现简单实例
- linux下简单socket网络编程
- 网络软件设计实验(socket编程实验收获)
- Linux 简单的网络配置练习一
- 计算机网络之套接字SOCKET
- 计算机网络:什么是套接字(Socket)?
- Linux网络编程之socket简单通信TCP--服务端代码
- Android简单的socket网络通信例子--群聊
- UNIX环境高级编程学习之第十六章网络IPC:套接字 - 简单TCP Socket 通信
- Socket网络编程--FTP客户端(60篇socket博客,而且都比较简单、深入浅出)
- 网络编程----------SOCKET编程实现简单的TCP协议
- [Java] 【源码】新手初探java网络编程——socket接口实现简单的客户机/服务器程序
- 计算机网络原理实验一--网线的制作