socket单工聊天工具

简介: 根据核心编程里的代码,自己改编的socket聊天工具 ####client####from socket import *HOST='localhost'PORT=21567BUFSIZ=1024ADDR=(HOST,PORT)while True: tcpCliSock=socket(AF_INET,SOCK_STREAM) tcpCliSock.

根据核心编程里的代码,自己改编的socket聊天工具

####client####
from socket import *

HOST='localhost'
PORT=21567
BUFSIZ=1024
ADDR=(HOST,PORT)

while True:
tcpCliSock=socket(AF_INET,SOCK_STREAM)
tcpCliSock.connect(ADDR)
data=raw_input('input your words:')

if not data:
break
tcpCliSock.send('%s\r\n' %data)
data='......['+str(tcpCliSock.getsockname())+tcpCliSock.recv(BUFSIZ)
if not data:
break
print data.strip()
print
tcpCliSock.close()

####server####
from SocketServer import (TCPServer as TCP,StreamRequestHandler as SRH)
from time import ctime

HOST=''
PORT=21567
ADDR=(HOST,PORT)

class MyRequestHandler(SRH):
def handle(self):
#print '...connect form...',self.client_address
print '......[%s%s]:%s' %(self.client_address,ctime(),self.rfile.readline())
inp=raw_input('input you words:')
self.wfile.write('%s:]%s' %(ctime(),inp))




tcpServ=TCP(ADDR,MyRequestHandler)
print 'waitint for connection...'
tcpServ.serve_forever()



目录
相关文章
|
17天前
|
存储 Python
Python网络编程基础(Socket编程) UDP 发送和接收数据
【4月更文挑战第10天】对于UDP客户端而言,发送数据是一个相对简单的过程。首先,你需要构建一个要发送的数据报,这通常是一个字节串(bytes)。然后,你可以调用socket对象的`sendto`方法,将数据报发送到指定的服务器地址和端口。
|
3月前
|
C语言
socket编程之回声服务器
回声服务器的实现 结合我们之前对socket函数的分析,现在做一个最简单的回声服务器(由客户端输入一串字符,再由服务器端转换成大写字符回显给客户端)
26 0
|
18天前
|
存储 Python
Python网络编程基础(Socket编程)接收和发送数据
【4月更文挑战第9天】在UDP服务器编程中,我们已经创建了一个UDP套接字并绑定了地址和端口。接下来,服务器需要能够接收来自客户端的数据,并能够对这些数据进行处理和响应。下面,我们将详细讲解如何在UDP服务器中接收和发送数据。
|
4月前
UDP通信程序练习(实现模拟聊天室)
UDP通信程序练习(实现模拟聊天室)
40 0
|
6月前
|
存储 网络协议 Windows
14.8 Socket 一收一发通信
通常情况下我们在编写套接字通信程序时都会实现一收一发的通信模式,当客户端发送数据到服务端后,我们希望服务端处理请求后同样返回给我们一个状态值,并以此判断我们的请求是否被执行成功了,另外增加收发同步有助于避免数据包粘包问题的产生,在多数开发场景中我们都会实现该功能。Socket粘包是指在使用TCP协议传输数据时,发送方连续向接收方发送多个数据包时,接收方可能会将它们合并成一个或多个大的数据包,而不是按照发送方发送的原始数据包拆分成多个小的数据包进行接收。
27 0
14.8 Socket 一收一发通信
|
存储 缓存 网络协议
【Java网络编程】基于UDP-Socket 实现客户端、服务器通信
【Java网络编程】基于UDP-Socket 实现客户端、服务器通信
324 0
|
网络协议 前端开发 Linux
快来体验快速通道,netty中epoll传输协议详解
在前面的章节中,我们讲解了kqueue的使用和原理,接下来我们再看一下epoll的使用。两者都是更加高级的IO方式,都需要借助native的方法实现,不同的是Kqueue用在mac系统中,而epoll用在liunx系统中。
|
负载均衡 网络协议 物联网
即时通讯技术文集(第10期):IM通信协议该选TCP还是UDP [共12篇]
为了更好地分类阅读52im.net 总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第10 期。
125 0
即时通讯技术文集(第10期):IM通信协议该选TCP还是UDP [共12篇]
|
Ubuntu TensorFlow 算法框架/工具
基于 socket 的即时通讯文件传输聊天软件
基于 socket 的即时通讯文件传输聊天软件
103 0
基于 socket 的即时通讯文件传输聊天软件
|
网络协议
TCP实现聊天功能
TCP实现聊天功能
84 0
TCP实现聊天功能